AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Auf XE3 programmiert, auf 5 solls laufen.
Thema durchsuchen
Ansicht
Themen-Optionen

Auf XE3 programmiert, auf 5 solls laufen.

Ein Thema von Getox · begonnen am 7. Jan 2013 · letzter Beitrag vom 8. Jan 2013
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 22:03
Dafür nutze ich einen Wrapper und der geht nur mit diesem Unicodegedöns.
SQLite ist nunmal ein DBMS das die Daten in so einem Uniocdegedöns ablegt

Ach ja: Müsste nicht ZEOS auch SQLite unterstützen? Ist evtl. einfacher damit zu arbeiten. Die Frage ist nur ob du die neustes Version noch verwenden kannst oder auf Alte Version zurückspringen musst.


Kannst du nicht mindestens auf D7 hochgehen? Diese müsste noch von mehr Bibliotheken unterstützt werden so das du keine Antiken Versionen einsetzen musst.
Windows Vista - Eine neue Erfahrung in Fehlern.

Geändert von Bernhard Geyer ( 7. Jan 2013 um 22:06 Uhr)
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Auf XE3 programmiert, auf 5 solls laufen.

  Alt 7. Jan 2013, 22:47
Soweit ich weiß haben wir alle defines in Zeos7 für Compiler, älter als D7 rausgeschmissen. Außerdem ist ist das UTF8Encode/UTF8Decode da auch schon überall drin.

Es gab da eine kurze Absprache, ob irgendwer noch Interesse an solchen Compilern haben könnte. Das gleiche Spiel mit FPC2.2../Kylix

Mit 6.6.6 könnte das alles noch gehen, du bräuchtest jedoch irgendwelche UTF8 oder WideString Componenten wie TNT o.ä..

Altenativen für:

uses windows;

UTF8Decode

Delphi-Quellcode:
function AnsiToWide(const S: AnsiString): WideString;
var
  l: Integer;
begin
  l := MultiByteToWideChar(CP, 0, PAnsiChar(@s[1]), - 1, nil, 0); //Checkout the Result-Lengh
  if l = 0 then Exit;
  SetLength(Result, l - 1);
  MultiByteToWideChar(65001, 0, PAnsiChar(@s[1]),
    - 1, PWideChar(@Result[1]), l - 1); //Convert Ansi to Wide with supported Chars
end;
UTF8Encode:

Delphi-Quellcode:
function WideToAnsi(const ws: WideString): AnsiString;
var
  L: Integer;
begin
  l := WideCharToMultiByte(65001,0, @ws[1], - 1, nil, 0, nil, nil); //Checkout the result length
  if l = 0 then Exit;
  SetLength(Result, l - 1); //SetResult Length
  WideCharToMultiByte(65001,0, @ws[1], - 1, @Result[1], l - 1, nil, nil); // Convert Wide down to Ansi
end;
Du kannst die CP65001(UTF8) auch mit 1252 austauschen (dann aber dwFlags anstatt 0 mit WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR austauschen), somit WideToAnsi oder AnsiToWide erstellen, was deine Controls dann darstellen können.

Habe das alles so bei Zeos reingebröselt und funzt wunderbar. Jedoch werden unter CP1252 alle nicht unterstützen Bytesequenzen zu '?' umgewandelt.

Gruß Michael

Geändert von EgonHugeist ( 7. Jan 2013 um 23:33 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz