AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Migration von Firebirdprojekt (Delphi 2006 nach delphi 2009)

Migration von Firebirdprojekt (Delphi 2006 nach delphi 2009)

Ein Thema von FlatCoder · begonnen am 6. Okt 2009 · letzter Beitrag vom 13. Okt 2009
Antwort Antwort
Seite 2 von 2     12
FlatCoder

Registriert seit: 18. Mai 2005
12 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Migration von Firebirdprojekt (Delphi 2006 nach delphi 2

  Alt 13. Okt 2009, 10:05
Also ich habe mir ursprünglich mal eine Funktion geschrieben die da lautet:

Delphi-Quellcode:
FUNCTION UTF8Decode2(Wert: RawByteString): WideString;
var
  Temp: WideString;
begin
 Temp := trim(UTF8Decode(Wert));
 if Temp = 'then begin
  Temp := Wert;
 end;//if Temp = '' then begin
 Result := Temp;
end;
Über Sinn oder Unsinn der Funktion lässt sich bekanntlich streiten...
Ich habe nur gemerkt: Wenn die Funktion UTF8Decode fehlgeschlagen ist, gibt sie einen leeren String aus.
Dann habe ich den Wert genommen, der drinstand und als Ergebnis ausgegeben.

Dieses Verhalten gilt für die NEUE UTF8Decode NICHT mehr. Er verschluckt einfach die Zeichen
die er nicht verarbeiten kann und gibt also keinen leeren String wieder.

Ich untersuchte die ALTE Funktion auf Delphi 2006 und stellte fest, dass diese etwas anders arbeitet
wie die, aus Delphi 2009. Was ja sein muss.

Eine Übernahme der ALTEN Funktion würde ja ein COPYRIGHT Recht verletzen. Zum Test habe ich sie trotzdem
mal übernommen und die Funktion wandelte sich zu:

Delphi-Quellcode:
FUNCTION UTF8Decode2(Wert: RawByteString): WideString;
var
  Temp: WideString;
begin
 Temp := trim(UTF8Decode_Step1(Wert));
 if Temp = 'then begin
  Temp := Wert;
 end;//if Temp = '' then begin
 Result := Temp;
end;
STEP1 deswegen, weil ich feststellte, dass INTERN in der Systemunit noch eine Funktion Namens

UnicodeToUtf8 aufgerufen wird.

Diese wiederum unterscheidet sich WIEDER von der in Delphi2009.

Ich übernahm die alte Methode zum Test und stellte noch einen PChar auf PAnsiChar um.

Auf der Funktion wurde dann die

UnicodeToUtf8_Step2 Ich weis, alles nicht copyrightgerecht und ich werde mit dieser Methode irgendwann
gegen die Wand fahren weil ich irgendwas nicht beachtet habe.
Aber es war erst einmal TESTWEISE ein Weg, wie ich es zumindest nachvollziehen
und eventuell für zumindest die alte Datenbank weiternutzen könnte,
wenn ich entsprechend aus dem Originalcode lerne und ihn nicht 100%ig übernehme.

Bis dann

Ingo
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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