| Autor |
Beitrag |
Syngel Kid
      
Beiträge: 61
Win XP
Delphi 2005
|
Verfasst: Mo 29.12.03 22:09
Wie kann man Ein Textdokument (.txt) direkt in eine String
Variable Laden??
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 29.12.03 23:37
Direkt - Überhaupt nicht
aber über Umwege :)
deinstring ist eine Variable vom Typ string.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| var stream: TFileStream; begin stream := TFileStream.Create('foo.txt', fmOpenRead); setlength(deinstring, stream.Size); stream.Read(pointer(deinstring)^, stream.Size); stream.free; end; |
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: Di 30.12.03 00:25
Oder Du benutzt die gute alte Methode über TextFile.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button1Click(Sender: TObject); var f : TextFile; s : String; begin AssignFile(f,'C:\Test.txt'); Reset(f); ReadLn(f,s); CloseFile(f);
Edit1.Text := s; end; |
Dies liest Dir die erste Zeile der Datei in die Stringvariable ein.
(Und gibt das ganze im Edit1 aus)
Schau Dir am besten mal die Beispiele hierzu in der Delphi-Hilfe an.
_________________ "Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Di 30.12.03 01:08
Das ist aber ziemlich unvorteilhaft, wenn man die gesamte Datei einlesen will. Aber es ist ja nicht sicher was er will ;)
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: Di 30.12.03 13:02
| obbschtkuche hat folgendes geschrieben: | ... Aber es ist ja nicht sicher was er will  |
Eben drum hab ich die Variante zum Einlesen der ersten Zeile auch reingesetzt. Der Vollständigkeit halber und da sie einen komplett anderen Weg geht als Deine Lösung.
_________________ "Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
|
|
Syngel Kid 
      
Beiträge: 61
Win XP
Delphi 2005
|
Verfasst: Di 30.12.03 22:38
Ich wollte eine .doc in ein Memo Laden....
aber da steht nur: 'ÐÏࡱá' und dabei ist das dokument 20 mal so lang.
Aber das war woll nicht so eine gute idee von mir... 
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Di 30.12.03 22:58
.doc ist kein ASCII-Text, TMemo ist aber nur dafür ausgelegt. TRichedit kann noch Rich Text, aber für .doc ist mir nichts bekannt.
Dass das memo nur so wenig anzeigt, liegt daran, dass der Text beim ersten Vorkommen von #0 immer abgebrochen wird (0-terminierter String)
|
|
Syngel Kid 
      
Beiträge: 61
Win XP
Delphi 2005
|
Verfasst: Mi 31.12.03 11:24
ich weisss, ich weiss, aber ich möchte gerne alles in eine Memo laden können auch waves. Aber es kjommt immer nur praktisch die selben 4 - 5 Buchstaben.
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Mi 31.12.03 12:41
da würdest du die Datei am besten byteweise einlesen und jedes byte in Hex umwandeln und dann darstellen.
|
|
Syngel Kid 
      
Beiträge: 61
Win XP
Delphi 2005
|
Verfasst: Mi 31.12.03 13:46
Und wie stell ich des an??
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: Mi 31.12.03 17:57
Schau mal nach einem Hex-Editor.
Ansonsten vielleicht einen neuen Thread aufmachen. Denn das hat dann nichts mehr mit "String laden" zu tun.
_________________ "Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
|
|