AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unicode in datei schreiben

Ein Thema von remie · begonnen am 17. Mai 2006 · letzter Beitrag vom 17. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
remie

Registriert seit: 6. Aug 2004
109 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 10:58
so ich glaub ich hab mal wieder ein bischen geshcummelt aberegal habe es so probiert

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  daten : WideString;
  datei : TTntFileStream;
begin
  openDialog1.Execute;
  if fileexists(opendialog1.FileName) then begin
    datei :=TTntFileStream.Create(opendialog1.FileName,fmOpenRead);
    datei.ReadBuffer(daten,datei.Size);
    Memo1.Lines.Add(daten);
    TNTEdit1.Lines.Add(daten);
    datei.free
  end else ShowMessage('ERROR FILE NOT EXIST')
end;
aber das schint nicht so ganz zu klappen den er schreibt mir in die memos nix rein
aber imprinzip müsste es doch gehen wenn ich das ganze file einlesen will oder ?
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:08
du müsstest vorher die Länge des Strings daten mit SetLength setzen

aber wieso nimmst Du nicht TTntMemo.Lines.LoadFromFile?

bzw. TTntStringList.loadfromfile, wenn es eine Textdatei ist?
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:10
ausserdem, solltest Du koreanisch als Sprache nutzen, dann solltest Du auch alle anderen Funktionen durch WideString-Funktionen ersetzen: z.B. FileExists -> WideFileExists
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#14

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:12
Ersten: das Memo kann auch nur ANSI, aber egal, es sollten dann zumindesntens etwas dinstehen.

Zweitens: UTF-8 kannst du doch auch per ANSI einlesen, es ist ja eine MultiByteCodierung, wo ja ein Einbytestring ausreichend ist.
im Delphi kannst du dann ja as UTF8 (in dem AnsiString) nach Unicode (in 'nem WideString) umcodieren lassen.

und Zuletzt: keine Ahnung warum's nicht geht (verwende keine FileStreams ._.)

[add]
Delphi-Quellcode:
datei :=TTntFileStream.Create(opendialog1.FileName,fmOpenRead);
SetLength(daten, datei.Size div 2)
datei.ReadBuffer(daten[1], datei.Size and not $1); // damit notfalls kein halbes Byte eingelesen wird
Zitat von sh17:
dann solltest Du auch alle anderen Funktionen durch WideString-Funktionen ersetzen: z.B. FileExists -> WideFileExists
Das ist ja wohl vollkommen egal, wenn nur der Dateiinhalt Unicode ist
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:16
Zitat von himitsu:
und Zuletzt: keine Ahnung warum's nicht geht (verwende keine FileStreams ._.)
erstens, wie schon gesagt, der String ist ja leer, der SPeicher in der Größe des Streams muss also erst reserviert werden

zweitens müsste es heißen ReadBuffer(daten[1],datei.Size)
Sven Harazim
--
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:18 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