Lütfen Yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kankardes
Üye
Mesajlar: 2
Kayıt: 14 Ara 2010 07:31

Lütfen Yardım

Mesaj gönderen Kankardes »

Merhaba abiler , delphi 7 de projemde bir Listview im var ve bu Listview e yazılan yazılarımı ,bilgisayarımda C:\sürücüme .txt olarak kaydedemiyorum

savetofile ile olmadı hata veriyor , yardımcı olursanız çok makbule geçer , sağolasınız abiler
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Lütfen Yardım

Mesaj gönderen CiTiZEN »

merhaba, öncelikle henüz ilizyonist seviyesine erişememiş arkadaşlarımız mevcut bende dahilim :) yani şöyle ki verdiği hatayı yazmazsanız onlarca olasılığı düşüşnüp yardımcı olamayız.Verdiği hata nedir?
UWESIS CORPORATION
Kankardes
Üye
Mesajlar: 2
Kayıt: 14 Ara 2010 07:31

Re: Lütfen Yardım

Mesaj gönderen Kankardes »

Cıtızen abi ilgilendiğin için çok teşekkür ederim Haklısın kodları yazmalıydım ki daha net açıklığa kavuşsun ,şimdi abi olay şu

Listview1 im var bir de buton koydum projeye

Butonun click olayına şunu giriyorum normal olarak



procedure TForm1.Button1Click(Sender: TObject);
begin
Listview1.Lines.savetofile('C:\dersnotlar.txt');
end;

end.


Ancak altta şunlar yazıyor

Error main pas 79 Undeclared identfier 'Lines'
Fatal error project.dpr Could not compile used unit 'main.pas'
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Lütfen Yardım

Mesaj gönderen aslangeri »

s.a.
lütfen forum kurallarına uyalım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: Lütfen Yardım

Mesaj gönderen White Rose »

+
ayrıca standart Listview in böyle bir özelliği yok (Listview1.Lines.savetofile)
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 183
Kayıt: 01 Oca 2008 05:34

Re: Lütfen Yardım

Mesaj gönderen Commandx »

Kod: Tümünü seç

unit listview_save_load; // <---- uniti ana unitinize eklemeyi unutmayın

//  
//  ____________________________________________________________________________
//  Formunuza bir ListView ekleyin. ListView un ViewStyle özelliğini vsReport
//  yapıp, alanları ekleyin. Tetikleyecek bir buton ya da başka bir nesneyle
//  aşağıdaki şekilde kullanabilirsiniz.
//  ____________________________________________________
//  KULLANIMI:
//  ____________________________________________________
//  Dosya açmak için -->
//  ListViewda_Dosya_Ac_Kaydet(Form1, ListView1, False);
//  ____________________________________________________
//  Dosya kaydetmek için -->
//  ListViewda_Dosya_Ac_Kaydet(Form1, ListView1, True);
//  ____________________________________________________



interface

uses Windows, SysUtils, ComCtrls, Forms, commdlg;

function ListViewda_Dosya_Ac_Kaydet(hangiForm: TForm;
                                    ListVAdi: TListView;
                                    saveMi: boolean ): boolean;
const
  ayirac_Karakteri: char=';' ;  //  Alanlari birbirinden ayırmak için dosyada
                                //  kullanılır.

implementation

procedure ListView_Ac(lvA: TListview; dosyaAdi: string);
var
  lvd_Dosya: textFile;
  girdi_satir: string;
  i: integer;
  captionYazildi: boolean;
  veri: string;
  ListItem: TListitem;
begin
  lvA.Clear;
  ListItem:=nil;
  assignFile(lvd_Dosya, dosyaAdi);
  reset(lvd_Dosya);

  while not eof(lvd_Dosya) do
  begin

      girdi_satir:='';
      readln(lvd_Dosya, girdi_satir);
      girdi_satir:=trim(girdi_satir);
      captionYazildi:=false;
      i:=1;
      veri:='';

      //Bu bölüm ayirac_Karakteri ile ayrılmış bir satırı okuyup listView daki
      //alanlara ekler.
      while not (i>length(girdi_Satir)) do
      begin
        with lvA do
        begin
            if girdi_Satir[i]=ayirac_Karakteri then
                case captionYazildi of //--->
                  true:
                    begin
                      ListItem.SubItems.Add(veri);
                      veri:='';
                      i:=i+1;
                    end;
                  false:
                    begin
                      ListItem := Items.Add;
                      ListItem.Caption:=veri;
                      veri:='';
                      captionYazildi:=true;
                      i:=i+1;
                    end;               //<---
                end
            else
                begin
                  veri:=veri+girdi_Satir[i];
                  i:=i+1;
                end;
        end;
      end;

  end;
  CloseFile(lvd_Dosya);
end;


procedure ListView_Kaydet(lvK: TListview; dosyaAdi: string);
var
  lvd_Dosya: textFile;
  satirNo, sutunNo: integer;
  cikti_satir: string;
begin
  assignFile(lvd_Dosya, dosyaAdi);
  Rewrite(lvd_Dosya);
  // Bu bölüm listview daki verileri ayirac_Karakteri (const) ile ayırarak
  // kaydeder.
  for satirNo:=0 to lvK.Items.Count-1 do
  begin
    cikti_satir:='';
    cikti_satir:=trim(lvK.Items[satirNo].Caption) + ayirac_Karakteri;
    for sutunNo:=0 to lvK.Items[satirno].SubItems.Count-1 do
      cikti_satir:=cikti_satir +
                   trim(lvK.Items[satirno].SubItems[sutunNo]) +
                   ayirac_Karakteri;
    writeln(lvd_dosya, cikti_satir);
  end;
  CloseFile(lvd_Dosya);
end;


function ListViewda_Dosya_Ac_Kaydet(hangiForm: TForm;
                                    ListVAdi: TListView;
                                    saveMi: boolean ): boolean;
var
  ofn: tagOFNa;
  szFileName: array[0..MAX_PATH] of char;
begin
  //Dosya açma ve kaydetme dialoglari için ayarlar bölümü
  ZeroMemory( @ofn, sizeof(ofn) );
  szFileName[0] := #0;
  ofn.lStructSize := sizeof(ofn);
  ofn.hWndOwner := hangiForm.Handle;
  ofn.lpstrFilter := pchar('ListView Dosyası'+#0+'*.lvd');
  ofn.lpstrFile := szFileName;
  ofn.nMaxFile := MAX_PATH;
  ofn.lpstrDefExt := pchar('*.lvd');

  result:=False;
  if (saveMi) then
    begin
      ofn.Flags := OFN_EXPLORER + OFN_PATHMUSTEXIST +
                   OFN_HIDEREADONLY + OFN_OVERWRITEPROMPT;

      if GetSaveFileName(ofn) then  //commdlg unit inden
      begin
        ListView_Kaydet(ListVAdi, szFileName);
        result:=True;
      end;
    end
  else
    begin
      ofn.Flags := OFN_EXPLORER + OFN_FILEMUSTEXIST + OFN_HIDEREADONLY;

      if GetOpenFileName(ofn) then  //commdlg unit inden
      begin
        ListView_Ac(ListVAdi, szFileName);
        result:=True;
      end;
    end;

end;

end.

kullanımı

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
ListViewda_Dosya_Ac_Kaydet(Form1, ListView1, True); // Dosyayı sürücüye txt olarak kaydetmek için
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ListViewda_Dosya_Ac_Kaydet(Form1, ListView1, False); // dosyayı sürücüden listviewe taşımak için
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
listview1.Clear;
end;
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
Cevapla