AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 12:02

Parameter dieser Suchanfrage:

Suche in Thema: Memo.Text := Ansistring? nur wie
Suche alle Beiträge, die von "jbg" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 11 von insges. 11 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Also folgender Code funktioniert bei mir:


    var
    _codiert: AnsiString;
    sfiledata: string; // = UnicodeString
    fddschl: string;
    sTmpFileName: string;
    begin
    sTmpFileName := 'C:\Testdata\Test.txt'; // *** anpassen ***
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Kann es sein, dass du sämtliche String-Warnungen abgeschaltet hast? Denn der Compiler wirft überall, wo du eine implizite Konvertierung von UnicodeString nach AnsiString und andersherum machst, eine Warnung.
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Also alles was du mit der Delphi 2009 Version geschrieben hast, ist verstümmelt. Da kann man nichts mehr machen, da die Hälfte der Daten fehlt.
    Was du mit Delphi 1-2007 geschrieben hast, kannst du komplett über AnsiString abhandeln.


    Für das Schreiben reicht es aus, wenn du _codiert als AnsiString deklarierst. Du solltest aber noch prüfen, ob die Daten, die aus dem StringStream zurück kommen...
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Und da haben wir den Übeltäter.

    EncodeString liefert einen (kodierten) AnsiString zurück. Mit der Zuweisung an _codiert, werden nun Zeichen größer #127 falsch umgesetzt. Und beim Schreiben in die Datei wird nur die Hälfte der Daten geschrieben: Length(_codiert) <> ByteLength(_codiert)
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    _codiert hast welchen Datentyp?
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Das hieße dann aber dass du entweder defekte ANSI Daten in der Datei hast, oder du UTF16 Daten in die Datei geschrieben hast. In letzterem Fall musst du die dann natürlich als UTF16 einlesen.

    Wie schreibst du denn die Daten in die Datei?
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Entschlüssle den Text doch vor der Umwandlung in einen UnicodeString. Bei stmp := ansitmp werden nämlich Zeichen, die größer als 127 sind, in andere Code-Points gemappt, was natürlich zu einer Fehlinterpretation führt.




    Also wenn ich " Memo1.Text := 'Hallo'#0'abc'; " in Delphi 2007 eingebe, dann steht da nur "Hallo" im Memo. Das ging also definitiv vorher auch nicht. Was aber ging, war...
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Welchem Teil widersprichst du denn? Dem das der AnsiString die gesamten Daten aus der Datei enthält, oder dem Teil in dem ich vom PChar-Problem schreibe?


    Vielleicht ist ja der Entschlüsselungs-Code defekt. (=> nicht richtig nach Unicode migriert)
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Dann konntest du das aber auch in Delphi 2007 auch nicht in einem Memo anzeigen, denn das geht über die WinAPI und der gibt man einen PChar mit, der Nullterminiert ist.


    Das ist sie mit meinem Code auch. Nur die Anzeige schlägt wegen dem WionAPI-PChar Problem fehl.

    Wie du den Codierten Text in einen UnicodeString überträgst, musst du dir noch überlegen. Am besten dekodierst du ihn vor der...
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    Dann frage ich mal ganz dumm, was steht denn in der Datei (Hex-Edit) Wenn das zweite Zeichen ein #0 ist, dann ist klar, dass da nichts bei rauskommt.
  • Forum: Sonstige Fragen zu Delphi

    Re: Memo.Text := Ansistring? nur wie

      Delphi
      by jbg, 7. Jan 2009
    if odlg.Execute then begin
    fs := TFileStream.Create(odlg.FileName, fmOpenRead or fmShareDenyWrite);
    fs.Position := 0; // File in den String-Stream schreiben
    Das ist ja wie "Query.Open;Query.First". Wo steht man denn wohl, wenn man die Datei gerade geöffnet hat.



    TStringStream ist bereits ein Unicode-String-Stream. Das wird so also nicht klappen, außer du hast einen UTF16 Text...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=jbg&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=127085
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 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