TStream(Hakkında Geniş bil istiyorum) Yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
İsmail_ycl
Üye
Mesajlar: 21
Kayıt: 18 Eki 2006 12:56
Konum: çORUM

TStream(Hakkında Geniş bil istiyorum) Yardım

Mesaj gönderen İsmail_ycl »

Selam Millet

Baylar Bayanlar TSream işlemi nasıl yapılıyor

Bir değişkene listBoxtaki bilgileri atamak istiyorum
değişkenle (Stream tipinde Değişken.Items.SavetoFile)Seklinde yapmak istiyorum
Nasıl yapa bilirim
Şimdiden herkeze Teşekkürler
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

items.SaveToStream metodu var zaten. Madem kullanmak istiyorsun kullan o zaman.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
İsmail_ycl
Üye
Mesajlar: 21
Kayıt: 18 Eki 2006 12:56
Konum: çORUM

Mesaj gönderen İsmail_ycl »

Kod: Tümünü seç

var
NewForm1:Tform1;
Indexle:Integer=0;
Bellek:TStream;
Procedure TForm1.Button1Click(Sender:Topject);
Begin
Indexle:=ListBox1.ItemIndex;
NewForm1:=Tform1.Create(Owner);
Bellek:=Tsream.Create(Self);
Bellek:=TListBox1.Item.String[Indexle]
NewForm1.Caption:='Metin:'+Bellek+'_No:'+Indexle;
NewForm1.Show;
//Buşekilde yapsam kod çalışırmı  Amacım ListBoxk Kutusundaki
//Seçili olan metni  NEWfORM1.CAPTİON a AKTARMAK İSTİYORUM
end;

Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Çok zorlamışsın ama
İsmail_ycl yazdı:

Kod: Tümünü seç

.
.
.
Bellek:TStream;
Procedure TForm1.Button1Click(Sender:Topject);
Begin
.
.
.
Bellek:=Tsream.Create(Self);
Bellek:=TListBox1.Item.String[Indexle]
NewForm1.Caption:='Metin:'+Bellek+'_No:'+Indexle;
.
.
.
yanlış. Bunlara hiç gerek yok. Bir kere tipleri uyuşmuyor. Şu şekilde yap.

Kod: Tümünü seç

.
.
.
Bellek:String;
Procedure TForm1.Button1Click(Sender:Topject);
Begin
.
.
.
Bellek:=TListBox1.Item.String[Indexle]
NewForm1.Caption:='Metin:'+Bellek+'_No:'+IntToStr(Indexle);
.
.
.
Ayrıca soru yazmadan (cevabı beğenmediğin için) önce bir test et bakalım olmuşmu. Cevaplarda kafana yatmayan şeyler varsa en iyi böyle çözersin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@İsmail_ycl

- Buradaki örneğinizde, öğrendiklerinizde bir karışıklık olduğu açık. Şöyle örnek bir kod ile anlamaya çalışalım...

- Yanlış anlamış olabilirim, çünkü istedikleriniz, kodlamaya çalıştığınızın altında bir detay kadar küçük kalmış.

- Öncelikle sistem doğru kurulmalı, ondan sonra diğer işlemlerin nasıl çalışması gerektiği irdelenmeli.

- Probleme çözüm üretmek için önce problemin kaynağını anlamak lazım. Bunun için müsadenle aşağıda buna anlam kazandırmaya çalışıcam...

Önce kodunuzu sizin yazdığınız şekliyle tekrar yazayım.

Kod: Tümünü seç

var
  NewForm1 :Tform1;
  Indexle  :Integer=0;
  Bellek   :TStream;

Procedure TForm1.Button1Click(Sender:Topject);
Begin
  Indexle:=ListBox1.ItemIndex;
  NewForm1:=Tform1.Create(Owner);
  Bellek:=Tsream.Create(Self);
  Bellek:=TListBox1.Item.String[Indexle]
  NewForm1.Caption:='Metin:'+Bellek+'_No:'+Indexle;
  NewForm1.Show;
  //Buşekilde yapsam kod çalışırmı  Amacım ListBoxk Kutusundaki
  //Seçili olan metni  NEWfORM1.CAPTİON a AKTARMAK İSTİYORUM
end;
- Burada Global tabir edilen genel bir grup değişken tanımladığınızı görüyorum. Procedure içeriğinde ise, tahmin ediyorum ki TListBox içersindeki seçili olan item için bir FORM oluşturup, bu formun başlığını da o metni koymak istiyorsunuz.

- Doğru ise bu başlıktaki sorunuzu "Dinamik bir form oluşturup başlığını belirlemek nasıl olur ?" olarak adlandıralım.

- Bu çerçevede Stream'ı unutun. Konu ile uzaktan yakından ilgisi yok. :idea:

- Aşağıda kendimce bu konuya örnek teşkil edecek bir hazırlık yaptım. Nasıl işlediğini test edip sorunlarınıza çözüm olabileceği noktada değerlendirin.

Kod: Tümünü seç

Procedure TForm1.FormOlustur( Baslik : String; Idx:Integer );
begin
  If FindComponent(Format('FORM_%.3d',[Idx])) is TForm
  then begin
         ShowMessageFmt('Form Mevcut, en öne alıyorum : %s, (%d) = %s', [Baslik, idx, Format('FORM_%.3d', [Idx])]);
         TForm(FindComponent(Format('FORM_%.3d',[Idx]))).BringToFront
       end
  else begin
    ShowMessageFmt('Create Edilecek : %s, (%d) = %s', [Baslik, idx, Format('FORM_%.3d', [Idx])]);
    With TForm.Create(self) do begin
      Caption   := Baslik;
      Name      := Format('FORM_%.3d', [Idx]);
      OnClose   := FormClose;
      OnDestroy := FormDestroy;
      Show;
    end;
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  TForm(Sender) := Nil;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  If ListBox1.ItemIndex < 0 then begin
    ShowMessage('Önce Seçim Yapınız...');
    Exit;
  end;
  FormOlustur( ListBox1.Items[ListBox1.ItemIndex], ListBox1.ItemIndex );
end;
- Kaynak Kod ve çalışır haldeki EXE'si için Ref : http://rapidshare.com/files/15830398/Di ... e.zip.html
Resim
Resim ....Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@sabanakman

- Forumda bişey eksik. Cevap yazarken aşağıda "@sabanakman; şu an bu başlığa cevap hazırlıyor, cevap yazmadan önce sonucu gör..." ifadesi lazım... :lol: :lol: :lol:
Resim
Resim ....Resim
Kullanıcı avatarı
Z.D.
Üye
Mesajlar: 104
Kayıt: 01 Nis 2006 01:48
Konum: İstanbul

Mesaj gönderen Z.D. »

+1
@mrmarman, hocam kesinlikle sana katılıyorum, aynı şey viewtopic.php?t=18875 bu topicde benimde başıma geldi, kendimi kötü hissettim, silmede silemiyoruz. Ancak durumu toparlayacak bir ikişey zırvaladım :)

Eğer Yöneticiler tag düzenleme olayına girecekse divxplanetteki gibi Spoiler tarzı bir tag ekleyebilirler mi acaba!

Mesela kod tagını kullanırken bir uniti komple örnek gösterirken açılır-kapanır tarzda bir tag olursa bu okunmayı ve topic takibi oldukca kolaylastirir kanisindayim.

"» Tıkla Katili Öğren - Tekrar Tıkla Bilmiyormuş gibi yap - Click to show Spoiler - click again to hide... «" gibi

Resimle şunun gibi;
Spoiler Tag (Close)

Spoiler Tag (open)
Cevapla