AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Liste Speichern

Ein Thema von Schnittcher · begonnen am 8. Sep 2009 · letzter Beitrag vom 8. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2   
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#1

Liste Speichern

  Alt 8. Sep 2009, 11:02
Hallo,

wie kann ich eine IInterfaceList speichern?

SaveToFile gibt es dort ja nicht.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#2

Re: Liste Speichern

  Alt 8. Sep 2009, 11:03
Such hier mal nach Hier im Forum suchenAssignfile, Hier im Forum suchenWrite, und Hier im Forum suchenTextfile....

Oder du benutzt inis.

MfG,
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#3

Re: Liste Speichern

  Alt 8. Sep 2009, 11:48
Hallo,

ich habe es jetzt so versucht:

Delphi-Quellcode:
procedure TForm1.cmdListSpeichernClick(Sender: TObject);
var
  i: integer;
  pAuto: IAuto;
  myfile: TextFile;
begin
  for i := 0 to AutoList.Count do
  begin
    pAuto := AutoList.Items[x];
  AssignFile(myFile, 'c:\Test.txt');
  WriteLn(myfile, 'Name:', pAuto.ErgebnisName, 'KW:', pAuto.ErgebnisKW, 'PS:',
    pAuto.ErgebnisPS);
  end;
end;
Aber ich bekomme jetzt einen I/O Error 103.

Kann mir da jemand helfen?

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

Re: Liste Speichern

  Alt 8. Sep 2009, 11:54
Zitat:
103
Datei nicht geöffnet
Wird von CloseFile, Read, Write, Seek Eof, FilePos FileSize, Flush, BlockRead oder
BlockWrite gemeldet, wenn die Datei nicht geöffnet ist.
Delphi-Quellcode:
procedure TForm1.cmdListSpeichernClick(Sender: TObject);
var
  i: integer;
  pAuto: IAuto;
  myfile: TextFile;
begin
  AssignFile(myFile, 'c:\Test.txt');
  Rewrite(myFile);
  for i := 0 to AutoList.Count do
  begin
    pAuto := AutoList.Items[x];
    WriteLn(myfile, 'Name:', pAuto.ErgebnisName, 'KW:', pAuto.ErgebnisKW, 'PS:',
      pAuto.ErgebnisPS);
  end;
  CloseFile(myFile);
end;
Probier mal den Code oben. Ist nicht getestet. Ich habe bei dir Delphi-Referenz durchsuchenReWrite und Delphi-Referenz durchsuchenCloseFile vermisst. Außerdem sollte es eigentlich reichen, der Variablen einmal am Schleifenanfang eine Datei zuzuweisen.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#5

Re: Liste Speichern

  Alt 8. Sep 2009, 11:57
Hallo

jetzt bekomme ich I/O error 32. (Den Error hatte ich eben auch schon als ich "Rewrite(myFile);" mal drin hatte.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#6

Re: Liste Speichern

  Alt 8. Sep 2009, 11:59
Dann vermute ich mal, dass du die Datei irgendwo im Code nochmal benutzt, oder?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#7

Re: Liste Speichern

  Alt 8. Sep 2009, 11:59
Hallo,

nein die Datei benutze ich nur an dieser Stelle.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.753 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Liste Speichern

  Alt 8. Sep 2009, 12:02
Zitat von MSDN:
ERROR_SHARING_VIOLATION 32 (0x20)
The process cannot access the file because it is being used by another process.
Zu jedem Reset oder auch Rewrite gehöhrt ein CloseFile.
Ansonsten bleibt das FileHandle geöffnet.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#9

Re: Liste Speichern

  Alt 8. Sep 2009, 12:06
Hallo,

es hat gerade 1 mal geklappt und jetzt geht es nicht mehr, jetzt kommt wieder der I/O error 32.


Zitat von Klaus01:
Zitat von MSDN:
ERROR_SHARING_VIOLATION 32 (0x20)
The process cannot access the file because it is being used by another process.
Zu jedem Reset oder auch Rewrite gehöhrt ein CloseFile.
Ansonsten bleibt das FileHandle geöffnet.

Grüße
Klaus
Was meinst du kann ich tun?

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#10

Re: Liste Speichern

  Alt 8. Sep 2009, 12:11
Zitat von Schnittcher:
Was meinst du kann ich tun?
Einen Breakpoint setzen und durch den Code steppen, um zu sehen, was nicht passt.

P.S.:

Zitat:
for i := 0 to AutoList.Count do
begin
pAuto := AutoList.Items[x];
Da stimmt aber was nicht, oder?
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz