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 1 von 2  1 2      
remie

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

Unicode in datei schreiben

  Alt 17. Mai 2006, 10:56
Hi leute

ich muss so ziemlich jede sprache die es Gibt mit ihren Zeichen in eine Datenbank schreiben können,
die Datenbank ( Mysql ) kann ja utf-8 ohne Probleme aber Delphi kann es ja nicht so einfach.
da habe ich hier im Forum die "TntUnicodeControls" gefunden.

Wenn ich jetzt hingehe und an meinem Rechner das Eingabeschema auf Koreanisch stelle, kann ich auch wunderbar denen ihre Zeichen tippen. zum Testen ob das alles klappt wolle ich das eingegebene mal in eine Datei schreiben.
Wenn ich die dann aber die Datei schreibe und danach wieder auslesen will kommen nur . raus.

Code:
procedure TForm1.Button2Click(Sender: TObject);
var f    : System.text;
    daten : WideString;
    i    : Integer;
begin
  SaveDialog1.Execute;

  if NOT fileexists(SaveDialog1.FileName) then begin
    IF NOT fileexists(SaveDialog1.FileName) THEN BEGIN
      SYSTEM.ASSIGN(f,SaveDialog1.FileName);
      SYSTEM.REWRITE(f,SaveDialog1.FileName);
      SYSTEM.CLOSE(f);
    END;
    SYSTEM.ASSIGN(f,SaveDialog1.FileName);
    SYSTEM.APPEND(f);
    for i:=0 to tntedit1.Lines.Count-1 do begin
      WRITELN(f,tntedit1.Lines.ValueFromIndex[i]);
    end;
    SYSTEM.CLOSE(f);
  end;
end;
das is der Button der die Datei schreibt. muss ich da noch irgendwas setzen oder so ?

Danke mal für die Hilfe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 10:57
Versuch es mal mit einem FileStream anstatt mit den veralteten Pascal Routinen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
remie

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 10:59
wie meinen ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:00
Delphihilfe Delphi-Referenz durchsuchenTFileStream.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:03
Und bei Dir dann speziell TTntFileStream oder TTntStringList
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:06
TextFile ist nicht Unicodetauglich ... hatte ich vor ein paar Tagen hier schonmal irgendwo gesagt.
das Read/Write/ReadLn/WriteLn nimmt Zwar WideStrings ntgegen, aber intern werden die in AnsiStrings umgewandelt und auch "nur" als ANSI in die Datei geschrieben, oder daraus gelesen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
remie

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:18
hm naja ok dan is mir klar warum es nicht gegangen ist.

aber jetzt hätte ich noch ne kurze frage zum verständnis:
procedure WriteBuffer(const Buffer; Count: Longint);
damit schreibe ich ja in dateien ... der buffer ist dan mein WideString aus dem TntRitchEdit oder ?
und was muss ich bei dem count mitgeben, wieviele Zeichen das sind oder Bits oder ...
das is mir noch nicht so ganz klar
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:23
bei WideString ist Count = Length * 2
Sven Harazim
--
  Mit Zitat antworten Zitat
remie

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:28
und was sollte ich dan da beim lesen ( REadBuffer) angeben ? da habe ich die Zeilenlänge ja nicht
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Unicode in datei schreiben

  Alt 17. Mai 2006, 11:41
Entweder du ließt solange ein, bis du ein #0, #13, oder #10 findest (ReadLn macht das nicht anders),
oder du speicherst dir die Länge mit ab (z.B. einen Integer davor speichern, wo die Länge des nachvolgenden Strings drinsteht)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:37 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