Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
delphi içinden şablon çağırma
#11
(28-06-2018, Saat: 13:55)mrmarman Adlı Kullanıcıdan Alıntı: Mümkündür. 
hocan ekteki component için sistem çalışmıyor

http://www.kluug.net/omultipanel.php


Ek Dosyalar
.zip   omultipanel-1-3--2014-09-02.zip (Dosya Boyutu: 14,47 KB / İndirme Sayısı: 1)
Cevapla
#12
Geçmiş olsun dileyeyim o zaman. Rolleyes 

Kars'ta bir yerel TV, halkla röportajlar yapıyor. Muhabir, yaşlı amcaya soruyor:
- Şehirden, hizmetlerden memnun musun?
- Allah dövlete, millete, kaymakam bege, bölediye başganımıza zeval vermesin.
- Başka derdin yok mudur?
- Vardır...
- Nedir?
- Doksan sene once buraya Ruslar geldi... Ha bu belediye binalarını, okulları, çeşmeleri, istasyonu, yolları, kaldırımları yaptılar, sonra gettiler... Yaptılar da doksan senedir bi kere Kars'a gidek, yollar bozuldu mu, kanallar tıkandı mı bakak da tamir edek demediler..

Kendimi o Ruslar gibi hissettim... Big Grin
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#13
Smile 
(28-06-2018, Saat: 16:38)mrmarman Adlı Kullanıcıdan Alıntı: Geçmiş olsun dileyeyim o zaman. Rolleyes 

Kars'ta bir yerel TV, halkla röportajlar yapıyor. Muhabir, yaşlı amcaya soruyor:
- Şehirden, hizmetlerden memnun musun?
- Allah dövlete, millete, kaymakam bege, bölediye başganımıza zeval vermesin.
- Başka derdin yok mudur?
- Vardır...
- Nedir?
- Doksan sene once buraya Ruslar geldi... Ha bu belediye binalarını, okulları, çeşmeleri, istasyonu, yolları, kaldırımları yaptılar, sonra gettiler... Yaptılar da doksan senedir bi kere Kars'a gidek, yollar bozuldu mu, kanallar tıkandı mı bakak da tamir edek demediler..

Kendimi o Ruslar gibi hissettim... :
Şehri o haliyle bırakmamak lazım başkan... Günahtır yazıktır... ruslar sahip çıkmadı ... sizde kendinizi ruslar gibi hissettiniz.. ne yapacağız peki şimdi... :: şehrin tek umudu sizdiniz düzeltir şehrin yolları.. diye.Smile


var
  Form9: TForm9;
 PanelStr :TMemoryStream;

implementation


{$R *.dfm}


procedure Tform9.StreamConvert(aStream: TStream);
var
 ConvStream: TStream;
begin
 aStream.Position := 0;
 ConvStream := TMemoryStream.Create;
 try
   ObjectBinaryToText(aStream, ConvStream);
   ConvStream.Position := 0;
   PanelStr.CopyFrom(ConvStream, ConvStream.Size);
   // lblStreamSize.Caption := IntToStr(ConvStream.Size);
 finally
   ConvStream.Free;
 end;
end;



procedure TForm9.Button1Click(Sender: TObject);
var
 idx: Integer;
 MemStr: TStream;
begin
 MemStr := TMemoryStream.Create;
 PanelStr := TMemoryStream.Create;
 try
   // transfer ownership of controls to the panel
   for idx := 0 to OMultiPanel1.ControlCount - 1 do
     OMultiPanel1.InsertComponent(OMultiPanel1.Controls[idx]);
   // write the panel
   MemStr.WriteComponent(OMultiPanel1);

   StreamConvert(MemStr);
   PanelStr.Position := 0;
   memo1.Lines.LoadFromStream(PanelStr);
 finally
   MemStr.Free;
 end;
end;

procedure TForm9.Button2Click(Sender: TObject);
var
 iTemp, iTemp2 : TStringList;
 MemStr: TStream;
 i: Integer;
begin
 // first read the destination panel an put it into a string list
 OMultiPanel1.Free;
 iTemp := TStringList.Create;
 iTemp2 := TStringList.Create;
 iTemp.Duplicates := TDuplicates.dupAccept;
 iTemp2.Duplicates := TDuplicates.dupAccept;
 MemStr := TMemoryStream.Create;
 try
   PanelStr.Position := 0;
   iTemp2.LoadFromStream( PanelStr ); // our original source
   PanelStr.Size := 0;
   MemStr.Position := 0;
   MemStr.WriteComponent(panel3);
   StreamConvert(MemStr);
   // PanelStr now has our destination poanel.
   PanelStr.Position := 0;
   iTemp.LoadFromStream( PanelStr );
   for i := 0 to iTemp2.Count - 1 do
   begin
     iTemp.Insert( ITemp.Count - 1, iTemp2[ i ]);
   end;
   PanelStr.Size := 0;
   iTemp.SaveToStream( PanelStr );
   PanelStr.Position := 0;
   memo1.Lines.LoadFromStream(PanelStr);
   MemStr.Size := 0;
   PanelStr.Position := 0;
   ObjectTextToBinary( PanelStr, MemStr);
   MemStr.Position := 0;
   RegisterClass( TLabel );
   RegisterClass( TPanel );
   RegisterClass( TEdit );
   RegisterClass( TCheckBox );
   RegisterClass( TRadioButton );
   RegisterClass( tOMultiPanel );
   MemStr.ReadComponent( panel3 );
   panel3.Controls[0].Align:=alclient;

 finally
   iTemp.Free;
   iTemp2.Free;
   MemStr.Free;
 end;
-------------------

bu kodlar çalıştı stream olarak ama dosya kaydet yükle ve component isimleri değiştir bölümünü halledemedik...
Cevapla
#14
olay aşağıdaki kodlarla çözülmüştür..şimdilik

unit Unit9;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, OMultiPanel,
 Vcl.ComCtrls;

type
 TForm9 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Memo1: TMemo;
   OMultiPanel1: TOMultiPanel;
   OMultiPanel2: TOMultiPanel;
   OMultiPanel3: TOMultiPanel;
   PageControl1: TPageControl;
   procedure StreamConvert(aStream: TStream);
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form9: TForm9;
 PanelStr :TMemoryStream;

implementation


{$R *.dfm}


procedure Tform9.StreamConvert(aStream: TStream);
var
 ConvStream: TStream;
begin
 aStream.Position := 0;
 ConvStream := TMemoryStream.Create;
 try
   ObjectBinaryToText(aStream, ConvStream);
   ConvStream.Position := 0;
   PanelStr.CopyFrom(ConvStream, ConvStream.Size);
   // lblStreamSize.Caption := IntToStr(ConvStream.Size);
 finally
   ConvStream.Free;
 end;
end;



procedure TForm9.Button1Click(Sender: TObject);
var
 idx: Integer;
 MemStr: TStream;
begin
 MemStr := TMemoryStream.Create;
PanelStr := TMemoryStream.Create;
   try

   // transfer ownership of controls to the panel
   for idx := 0 to OMultiPanel1.ControlCount - 1 do
     OMultiPanel1.InsertComponent(OMultiPanel1.Controls[idx]);
   // write the panel
   MemStr.WriteComponent(OMultiPanel1);

   StreamConvert(MemStr);
   PanelStr.Position := 0;
   memo1.Lines.LoadFromStream(PanelStr);
   memo1.Lines.SaveToFile('d:\aaaa');
 finally
   MemStr.Free;
 end;
end;


procedure LoadFromFileToMem(const filename:string; memStream:TMemoryStream);
var afileStream:TFileStream;
begin
  afileStream:=TFileStream.Create(filename,fmOpenRead);
  try
    memStream.CopyFrom(afileStream,afileStream.Size);
  finally
    afileStream.Free;
  end;
end;



procedure TForm9.Button2Click(Sender: TObject);
var
 iTemp, iTemp2 : TStringList;
 MemStr: TStream;
 i: Integer;
begin


  With TTabSheet.Create( PageControl1 ) do
  begin
    Name        := Format('Sayfa_%.2d', [ PageControl1.PageCount ]);
    Caption     := Name;
    PageControl := PageControl1;
  end;


 // first read the destination panel an put it into a string list
OMultiPanel1.Free;
 iTemp := TStringList.Create;
 iTemp2 := TStringList.Create;
 iTemp.Duplicates := TDuplicates.dupAccept;
 iTemp2.Duplicates := TDuplicates.dupAccept;
 MemStr := TMemoryStream.Create;
   PanelStr.Free;
 try
PanelStr := TMemoryStream.Create;
  LoadFromFileToMem('d:\aaaa',PanelStr);


 PanelStr.Position := 0;
 iTemp2.LoadFromStream( PanelStr ); // our original source
 PanelStr.Size := 0;
 MemStr.Position := 0;
 MemStr.WriteComponent( PageControl1.Pages[PageControl1.PageCount-1]);
   StreamConvert(MemStr);
   // PanelStr now has our destination poanel.
   PanelStr.Position := 0;
   iTemp.LoadFromStream( PanelStr );
   for i := 0 to iTemp2.Count - 1 do
   begin
     iTemp.Insert( ITemp.Count - 1, iTemp2[ i ]);
   end;
   PanelStr.Size := 0;
   iTemp.SaveToStream( PanelStr );
   PanelStr.Position := 0;
   memo1.Lines.LoadFromStream(PanelStr);
   MemStr.Size := 0;
   PanelStr.Position := 0;
   ObjectTextToBinary( PanelStr, MemStr);
   MemStr.Position := 0;
   RegisterClass( TLabel );
   RegisterClass( TPanel );
   RegisterClass( TEdit );
   RegisterClass( TCheckBox );
   RegisterClass( TRadioButton );
   RegisterClass( tOMultiPanel );
   MemStr.ReadComponent(  PageControl1.Pages[PageControl1.PageCount-1] );
   PageControl1.Pages[PageControl1.PageCount-1].Controls[0].Align:=alclient;

 finally
   iTemp.Free;
   iTemp2.Free;
   MemStr.Free;

 end;
end;
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  yapay zeka delphi kl007 9 624 26-02-2026, Saat: 09:12
Son Yorum: mrmarman
  Win 11 ve Delphi 7 Minimize sorunu. enigma 7 495 11-02-2026, Saat: 10:27
Son Yorum: RAD Coder
Question Delphi formunu nasıl otomatik tam ekran yapabilirim ? erdemklt0 2 321 23-01-2026, Saat: 10:02
Son Yorum: csunguray
  Delphi SLL kullanım sorunu Bay_Y 12 1.317 22-12-2025, Saat: 18:11
Son Yorum: Bay_Y
  Delphi ile SQL server bağlantı hatası yakalama Under 20 1.978 21-11-2025, Saat: 15:24
Son Yorum: mrmarman



Konuyu Okuyanlar: 1 Ziyaretçi