Görsel olmayan bileşenlerden olan bu üç componenti er geç programlarımızda kullanma ihtiyacı duyacağız. Tstringlist Tstrings Componentinden türetilmiştir. Tstrings programlama sırasında asla doğrudan kullanılmaz. Mutlaka create edildikten sonra free edilmesi gerekir. Bunu garantilemenin en güzel yolu try... finally blokları arasında kullanmaktır. Aşağıdaki prosüdürü inceleyiniz: procedure TForm1. Button1Click ; var TempList: TStrings; begin TempList := TStringList. Create; try finally TempList. Free; end; end; Tstringsi bütün program boyunca kullanacaksak FormCreate olayı ile yaratıp FormDestroy olayı ile hafızadan atmalıyuz. aşağıdaki uniti inceleyiniz. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class procedure FormCreate ; procedure FormDestroy ; procedure FormMouseDown ; private public ClickList: TStrings; end; var Form1: TForm1; implementation procedure TForm1. FormCreate ; begin ClickList := TStringList. Create; end; procedure TForm1. FormDestroy ; begin ClickList. SaveToFile(ChangeFileExt ; ClickList. Free; end; procedure TForm1. FormMouseDown ; begin ClickList. Add(Format('Click at ', )); end; end. Sıra geldi, Tstrings ile Tmemorystream arasındaki ilişkiye. Tstrings'in savetofrom, LoadfromStream özelliklerini kullanabilmek için TmemoryStream componentine ihtiyaç duyacağız. aşağıdaki örneği inceleyiniz. procedure TForm1. Button1Click ; var TempStream : TMemoryStream; begin TempStream := TMemoryStream. Create; ListBox1. Items. SaveToStream ; // Sat&yacute;rlar&yacute; haf&yacute;zaya att&yacute;k. //Herhangi bir sat&yacute;ra do&eth;rudan ula&thorn;mak &thorn;imdilik imkans&yacute;z. TempStream. Position := 0; //LoadFromStreamdan önce bunu mutlaka yap&yacute;n. //Poziyon haf&yacute;zaya yüklenen bayt kadar artt&yacute;. RichEdit1. Lines. LoadFromStream ; // Richedit. lines bir Tstring soyundan töreyen //Tstringlist componenti. TempStream. Free; end; Şimdi biraz James Bondculuk oynayalım ve bir bitmapın içine yazı gömüp sonrada bu yazıyı tekrar elde edelim. Forma iki Tbitmap, iki Tbutton, bir Tmemo ekleyin. image1 normal resmi, image2 içinde yazı olan resmi gösterecek. Buttonların onclik olayına aşağıdaki prosüsüdürleri yazın. Resmimiz en az 20.000 bayt olsun. Button1 her iki resmi gösterecek, button2 Stringi memo1e ekleyecek. procedure TForm1. Button1Click ; var ms1, ms2:Tmemorystream; strlist:Tstrings; Bitmap: TBitmap; begin MS1 := TMemoryStream. Create; MS2 := TMemoryStream. Create; strlist:= TStringList. Create; Bitmap := TBitmap. Create; try ms1. LoadFromFile ; bitmap. LoadFromStream(ms1); image1. Picture. Graphic:=bitmap;//imga1. picture. assign da oluyor. strlist. Add ; strlist. Add ; strlist. SaveToStream(ms2); ms2. Position:=0; ms1. Position:=10000; ms1. CopyFrom(ms2,0); ms1. Position:=0; bitmap. LoadFromStream(ms1); image2. Picture. Graphic:=bitmap; finally ms1. Free; ms2. Free; strlist. Free; bitmap. Free; end; end; procedure TForm1. Button2Click ; var ms1:Tmemorystream; Bitmap: TBitmap; bufferChar; MemSize: Integer; x:integer; begin MS1 := TMemoryStream. Create; MS2 := TMemoryStream. Create; Bitmap := TBitmap. Create; MemSize := 37;//son karekter

olsunki stringin bittiğini anlasın. Buffer := AllocMem ; memo1. clear; try bitmap. Assign(image2. Picture. Graphic);//image2'deki grafiği bitmapa yükle bitmap. SaveToStream(ms1); ms1. Position:=10000;//Stringimizin başladığı pozisyona gel. ms1. Read ;//Streamdan 37 baytı buffere oku. Memo1. SetTextBuf ; //Bufferdeki bilgiyi göster. finally FreeMem ;//mutlaka hafızadan atılmalı ms1. Free; bitmap. Free; end; end; Not : Alıntıdır. - You must log in or register to reply here. Forum Programlama Delphi Bize Ulaşın Forum Kuralları Gizlilik Sözleşmesi Yardım Ana Sayfa RSS bafra oto ekspertiz, Tiktokbegeni.com, erkek cüzdan, eskişehir haber, çelik ranza, hasta yatağı kiralama, bonus veren siteler, ankara oto ekspertiz, istanbul oto ekspertiz, eskişehir oto ekspertiz, çorum oto ekspertiz, geobonus. org, deneme bonusu, bonusportali.com, vbet giriş, Pokerklas, Caddebet, megapari giriş, meritking giriş, meritking, kingroyal giriş, bahis siteleri, betwinner, rokubet giriş, deneme bonusu veren siteler, takipçi satın al, deneme bonusu veren siteler, betnano giriş, elektronik sigara, deneme bonusu veren siteler, replika saat, melbet giriş, smok, deneme bonusu, bahis forum, melbet, izmit oto ekspertiz, poppers turkiye, eskişehir oto ekspertiz, dalyan otel, hack forum, melbet, sohbet numaraları Wardom. Org Bilginin Adresi. 1998'den beri Wardom yayında! Wardom Türkiye'nin en eski forum sitelerinden biri olarak günümüz web sitelerine sponsor linkler yayınlanmaktadır. ataşehir escort maltepe escort pendik escort gaziantep rus escort xxx videos erotik film izle istanbul escort ankara escort istanbul escort gaziantep escort gaziantep escort Paylaşım sitemizde 5651/8 ve 125. madellere göre, tüm üyeler ve ziyaretçiler sitenin kullanımı ve yapılan paylaşımlarından kendileri sorumludur. Şikayetleriniz için bize ulaşabilirsiniz. Tüm hakları saklıdır 2015 Wardom. Org bilginin adresi. Forum ve bilgisayar güvenliği sitesi. var sc_project=2030864;var sc_invisible=1;var sc_security="c6df530c"; Üst <div class="tooltip-content-inner"> <div class="reactTooltip"> <a href="#" class="reaction reaction--1" data-reaction-id="1"><i aria-hidden="true"></i><img src="data:image/gif;base64, R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Like" title="Like" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--2" data-reaction-id="2"><i aria-hidden="true"></i><img src="data:image/gif;base64, R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Love" title="Love" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--3" data-reaction-id="3"><i aria-hidden="true"></i><img src="data:image/gif;base64, R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Haha" title="Haha" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--4" data-reaction-id="4"><i aria-hidden="true"></i><img src="data:image/gif;base64, R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Wow" title="Wow" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--5" data-reaction-id="5"><i aria-hidden="true"></i><img src="data:image/gif;base64, R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Sad" title="Sad" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> <a href="#" class="reaction reaction--6" data-reaction-id="6"><i aria-hidden="true"></i><img src="data:image/gif;base64, R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="reaction-sprite js-reaction" alt="Angry" title="Angry" data-xf-init="tooltip" data-extra-class="tooltip--basic tooltip--noninteractive" /></a> </div> </div> { "@context": "https://schema.org", "@type": "DiscussionForumPosting", "@id": "https:\/\/www.wardom.org\/threads\/tstrings-tstringlist-tmemorystream-iliskisi.66933\/", "headline": "Tstrings, Tstringlist, Tmemorystream İlişkisi", "articleBody": "Görsel olmayan bileşenlerden olan bu üç componenti er geç\r\nprogramlarımızda kullanma ihtiyacı duyacağız.\r\nTstringlist Tstrings Componentinden türetilmiştir.\r\nTstrings programlama sırasında asla doğrudan kullanılmaz.\r\nMutlaka create edildikten sonra free edilmesi gerekir. Bunu garantilemenin\r\nen güzel yolu try... finally blokları arasında kullanmaktır.\r\nAşağıdaki prosüdürü inceleyiniz:\r\n\r\nprocedure TForm1. Button1Click ;\r\nvar\r\n TempList: TStrings; \r\nbegin\r\n TempList := TStringList. Create; \r\n try\r\n \r\n finally\r\n TempList. Free; \r\n end;\r\nend;\r\n\r\nTstringsi bütün program boyunca kullanacaksak FormCreate olayı ile\r\nyaratıp FormDestroy olayı ile hafızadan atmalıyuz. aşağıdaki uniti inceleyiniz.\r\n\r\nunit Unit1;\r\n\r\ninterface\r\nuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;\r\n \r\ntype\r\n TForm1 = class \r\n procedure FormCreate ;\r\n procedure FormDestroy ;\r\n procedure FormMouseDown ;\r\n private\r\n \r\n\r\n public\r\n \r\n ClickList: TStrings; \r\n end;\r\nvar\r\n Form1: TForm1;\r\nimplementation\r\n \r\nprocedure TForm1. FormCreate ;\r\nbegin\r\n ClickList := TStringList. Create; \r\nend;\r\nprocedure TForm1. FormDestroy ;\r\nbegin\r\n ClickList. SaveToFile(ChangeFileExt ; \r\n\r\n ClickList. Free; \r\nend;\r\nprocedure TForm1. FormMouseDown ;\r\nbegin\r\n ClickList. Add(Format('Click at ', )); \r\nend;\r\nend.\r\n\r\nSıra geldi, Tstrings ile Tmemorystream arasındaki ilişkiye.\r\nTstrings'in savetofrom, LoadfromStream özelliklerini kullanabilmek için\r\nTmemoryStream componentine ihtiyaç duyacağız.\r\naşağıdaki örneği inceleyiniz.\r\n\r\nprocedure TForm1. Button1Click ;\r\n\r\nvar\r\n TempStream : TMemoryStream;\r\nbegin\r\n TempStream := TMemoryStream. Create;\r\n\r\n ListBox1. Items. SaveToStream ; \/\/ Sat&yacute;rlar&yacute; haf&yacute;zaya att&yacute;k.\r\n \/\/Herhangi bir sat&yacute;ra do&eth;rudan ula&thorn;mak &thorn;imdilik imkans&yacute;z.\r\n TempStream. Position := 0; \/\/LoadFromStreamdan önce bunu mutlaka yap&yacute;n.\r\n \/\/Poziyon haf&yacute;zaya yüklenen bayt kadar artt&yacute;.\r\n RichEdit1. Lines. LoadFromStream ; \/\/ Richedit. lines bir Tstring soyundan töreyen\r\n \/\/Tstringlist componenti.\r\n\r\n TempStream. Free;\r\n\r\nend;\r\n\r\nŞimdi biraz James Bondculuk oynayalım ve bir bitmapın içine yazı gömüp\r\nsonrada bu yazıyı tekrar elde edelim.\r\n\r\nForma iki Tbitmap, iki Tbutton, bir Tmemo ekleyin. image1 normal resmi,\r\nimage2 içinde yazı olan resmi gösterecek. Buttonların onclik olayına aşağıdaki\r\nprosüsüdürleri yazın. Resmimiz en az 20.000 bayt olsun.\r\nButton1 her iki resmi gösterecek, button2 Stringi memo1e ekleyecek.\r\n\r\n\r\nprocedure TForm1. Button1Click ;\r\nvar\r\nms1, ms2:Tmemorystream;\r\nstrlist:Tstrings;\r\nBitmap: TBitmap;\r\nbegin\r\nMS1 := TMemoryStream. Create;\r\nMS2 := TMemoryStream. Create;\r\nstrlist:= TStringList. Create;\r\nBitmap := TBitmap. Create;\r\ntry\r\nms1. LoadFromFile ;\r\nbitmap. LoadFromStream(ms1);\r\nimage1. Picture. Graphic:=bitmap;\/\/imga1. picture. assign da oluyor.\r\nstrlist. Add ;\r\nstrlist. Add ;\r\nstrlist. SaveToStream(ms2);\r\nms2. Position:=0;\r\nms1. Position:=10000;\r\nms1. CopyFrom(ms2,0);\r\nms1. Position:=0;\r\nbitmap. LoadFromStream(ms1);\r\nimage2. Picture. Graphic:=bitmap;\r\nfinally\r\nms1. Free;\r\nms2. Free;\r\nstrlist. Free;\r\nbitmap. Free;\r\nend;\r\nend;\r\nprocedure TForm1. Button2Click ;\r\nvar\r\nms1:Tmemorystream;\r\nBitmap: TBitmap;\r\nbuffer:PChar;\r\nMemSize: Integer;\r\nx:integer;\r\nbegin\r\nMS1 := TMemoryStream. Create;\r\nMS2 := TMemoryStream. Create;\r\nBitmap := TBitmap. Create;\r\nMemSize := 37;\/\/son karekter