Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SaveDialog basit yardım
#1
StringGrid ile veri girişi yaptığım bir tablo var elimde. Bu verileri kayıt edip kayıt ettiğim verileri programda yeniden açabilmeliyim. Bunu en basit şekilde nasıl yapabilirim. StringGrid'e girdiğim verileri memo nesnesine aktarsam oradan save/open işlemlerini yaptırsam olur mu ?
Cevapla
#2
En basit yöntem VCL projesi ise Jedi bileşen setini kurun (ücretsiz). Jedi string grid bileşeninde "SaveToFile" ve "LoadFromFile" özellikleri bulunmakta.
Cevapla
#3
StringGrid  diske kaydetme ve diskten geri okuma ile ilgili ek component kullanmadan kod ile  inşaallah işinize yarar

Gridkaydet ve oku adlı  procedure ler  birden fazla gridi okuyup yazabilirsiniz

Kullanımı
Kaydetme için
procedure Tsevkfrm.Sevk_kaydetClick(Sender: TObject);
begin

if  fileexists('sevkbelge.txt')  then DeleteFile(pansichar('sevkbelge.txt'));
if  fileexists('sevktoplam.txt') then DeleteFile(pansichar('sevktoplam.txt'));

sevkkaydet(sevk_belge, 'sevkbelge.txt');
sevkkaydet(toplam_grid, 'sevktoplam.txt');
end;

Okumak için
procedure Tsevkfrm.Sevk_okuClick(Sender: TObject);
begin
sevkoku(sevk_belge,  'sevkbelge.txt');
sevkoku(toplam_grid, 'sevktoplam.txt');
end;

Procedure ler


procedure sevkkaydet(StringGrid: TStringGrid; const FileName: TFileName);
var
 f:    TextFile;
 i, k: Integer;
begin
 AssignFile(f, FileName);
 Rewrite(f);
 with stringgrid do
 begin
   // Write number of Columns/Rows
   Writeln(f, ColCount);
   Writeln(f, RowCount);
   // loop through cells
   for i := 0 to ColCount - 1 do
     for k := 0 to RowCount - 1 do
       Writeln(F, Cells[i, k]);
 end;
 CloseFile(F);
end;

procedure sevkoku(StringGrid: TStringGrid; const FileName: TFileName);
var
 f:          TextFile;
 iTmp, i, k: Integer;
 strTemp:    String;
begin
 AssignFile(f, FileName);
 Reset(f);
 with stringgrid do
 begin
   // Get number of columns
   Readln(f, iTmp);
   ColCount := iTmp;
   // Get number of rows
   Readln(f, iTmp);
   RowCount := iTmp;
   // loop through cells & fill in values
   for i := 0 to ColCount - 1 do
     for k := 0 to RowCount - 1 do
     begin
       Readln(f, strTemp);
       Cells[i, k] := strTemp;
     end;
 end;
 CloseFile(f);

 if stringgrid.Name = 'sevk_belge' then
                                   begin
                                   sevkfrm.sevk_belge.RowCount :=  stringgrid.rowcount;
                                   sevk_satir := stringgrid.rowcount;
                                   end;
 if stringgrid.Name = 'toplam_grid' then
                                   begin
                                   sevkfrm.toplam_grid.RowCount :=  stringgrid.rowcount;
                                   end;

 end;



Ek Dosyalar Resimler
   
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Edge Browser Hakkında Yardım. glagher 6 3.273 14-06-2025, Saat: 23:40
Son Yorum: maxpaynen
  Web servis konusunda yardım Patriot 7 1.407 24-01-2025, Saat: 21:28
Son Yorum: enigma
  Open cv Yardım woywod 0 430 30-12-2024, Saat: 01:50
Son Yorum: woywod
  Buton Oluşturma Konusunda Yardım İhtiyacı cemakkus 31 8.262 27-09-2024, Saat: 21:00
Son Yorum: cemakkus
Question delphi ile kernel mode file hooking-yardım eroniko 7 1.363 24-08-2024, Saat: 00:34
Son Yorum: eroniko



Konuyu Okuyanlar: 1 Ziyaretçi