Autor Beitrag
subw00fer
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 11.09.03 12:31 
Hallo!

Ich lese Daten aus einer AS400-DB und schreibe die Daten die ich durch ein Query bekomme in ein Textfile. Da ein Textfile aus mehreren As400-Tabellen besteht werden die Textfiles sehr groß. Ich denke, dass ich viel Zeit mit dem Schreiben in die Files aufbrauche. Daher will ich mit SetTextBuf den Vorgang ein wenig beschleunigen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var 
  Buf: array[0..4096of Char;  
  f: TextFile; 

procedure TForm1.StartProzessTimer(Sender: TObject);
begin
 //...
  AssignFile(f,C:\Temp\Test.txt'); 
  SetTextBuf(f,Buf);  
  Rewrite(f);  
 // ... 
  CloseFile(f);   
 //...
end;


Problem:
Fehlermeldung bei SetTextBuf
[Fehler] Schaufel.pas(140): Inkompatible Typen: 'Text' und 'PAnsiChar'

P:S.:Ich habe die Syntax aus der OH übernommen und vertstehe nicht was ich falsch mache

mfg Patrick

Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Do 11.09.03 16:09 
Hi,

wenn Du hier beim posten keinen Tippfehler gemacht hast
AssignFile(f,C:\Temp\Test.txt'); fehlt Dir ein Hochkomma im Dateinamen.

AssignFile(f,'C:\Temp\Test.txt'); <-- so wärs richtig

Inder nächsten Zeile würde ich bei settextbuf mal die Unit noch mit einbeziehen, also so: system.settextbuf(.....), denn settextbuf gibt es in Delphi mehrfach. bin ich auch schon mal vorm Baum gelaufen. Mit Angabe der Unit hat's dann geklappt.

Gruß Micha.

_________________
Viele Wege führen nach Rom.
subw00fer Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Fr 12.09.03 08:40 
Servus!

Sorry, es war ein Tippfehler.

Habe die Unit einbezogen und es funktioniert.

Danke nochmal