Re: Ascii und Ansi tauschen - Codeproblem



Thomas Gahler schrieb:
Hallo Eric


Mir ist absolut transparent was dort wie und wo ablaufen soll [obschon ich eine Syntax "CharToOem AnsiString, AnsiString" die als Parameter 2x die selbe Variable bemüht für logisch, progammtechnisch zunmindest, unsinnig finde].

Was immer 'CharToOem AnsiString' bis hierhin tut erscheint logisch: der Funktionalität CharToOem wird ein Quelltext übergeben. Dieser soll dann in ', AnsiString' umgewandelt zurückkiommen [wie gesagt - warum die _selbe_ Variabele???].

Du darfst die Funktion auch anpassen, wenn du sie dann besser lesen/verstehen kannst. Das ist absolut egal, ob die gleiche Variable oder eine ander gefüllt wird.

- so wir von Klaus damals vorgeschlagen
Public Function ASCIItoANSI(ByVal AsciiString As String) As String
OemToChar AsciiString, AsciiString
ASCIItoANSI = AsciiString
End Function

- oder leicht angepasst
Public Function ASCIItoANSI(ByVal AsciiString As String) As String
Dim AnsiString As String
OemToChar AsciiString, AnsiString
ASCIItoANSI = AnsiString
End Function

Der Unwissede muss ja glauben, dass solcher Wahsinn Hehtode hat (gemäß Hamlet).

Ärgerlich ist und bleibt, dass sich dadurch nichts Verwertbares ans Licht holen lässt...

Die (beknackte [Punkt.]) Syntax "CharToOem AnsiString, AnsiString" funktioniert offenbar (bei anderne außer mir), auch die Deklaration ist wohl sauber und korrekt.
Demnach scheint 2x eine DLL nicht zu funktionieren?!??

Sieht fast so aus.....

Und nun? - - - - - Hilfääää!!!

*** Kannst du uns mal kurz deinen Code hier posten (also so wie ich es gesten mit einem kleinen Beispiel gemacht habe) dann lassen wir es bei uns laufen und melden dir ob es bei uns läuft. So können wir eingrenzen ob es am Code oder am PC liegt.
Also es muss aber ein *komplett lauffähiges Modul* sein, so wie ich es auch geliefert habe, dann schauen wir mal was es dann macht.

Wenns sein muss, gerne. Aber da mein Code "gut ausgeschitten" war erwarte ich da keine Wunder:

Private Declare Sub OemToChar Lib "user32" Alias "OemToCharA" _
(ByVal StrFrom As String, ByVal StrTo As String)
Private Declare Sub CharToOem Lib "user32" Alias "CharToOemA" _
(ByVal StrFrom As String, ByVal StrTo As String)

(Hier sogar in der originalen Version in der die Variable umgefüllt wird)

Public Function ASCIItoANSI(ByVal AsciiString As String) As String
OemToChar AsciiString, AsciiString
ASCIItoANSI = AsciiString
End Function

Public Function ANSItoASCII(ByVal AnsiString As String) As String
CharToOem AnsiString, AnsiString
ANSItoASCII = AnsiString
End Function

Sub täscht()
Debug.Print ASCIItoANSI("ÄÖÜäöüߨÆÅøæå") ' :-))
Debug.Print ANSItoASCII("ÄÖÜäöüߨÆÅøæå")
End Sub


--
Eric March

Kenne die Vergangenheit. In der Unwissenheit über die Vergangenheit liegt das Verderben der Zukunft.
"Die Geschichte ist der beste Lehmeister - mit den unaufmerksamsten Schülern." Indira Gandhi
.



Relevant Pages

  • Re: Ascii und Ansi tauschen - Codeproblem
    ... eine Syntax "CharToOem AnsiString, AnsiString" die als Parameter 2x die ... Was immer 'CharToOem AnsiString' bis hierhin tut erscheint logisch: ... Public Function ASCIItoANSI(ByVal AsciiString As String) As String ...
    (microsoft.public.de.word.vba)
  • [SUMMARY] AnsiString (#185)
    ... It would seem that writing Transfire's desired `ANSIString` class is ... Robert relies on other libraries to provide the actual ANSI codes; ... def register_lib lib_path, &blk ... string objects in a couple of ways: ...
    (comp.lang.ruby)
  • Re: Did Borland doing well in Q4? Listen to the Earning CC
    ... Changing an type does not necessarily affect the application code. ... Because a String is *very* different from any ordinal type. ... to "ANSIString" etc. ... Not long after Tiburon is released you might hope to get a Unicode ...
    (borland.public.delphi.non-technical)
  • Re: Fastcode AnsiStringReplace
    ... function AnsiStringReplace(const S, OldPattern, NewPattern: ... Flags: TReplaceFlags): AnsiString; ... TReplaceFlags): string; ...
    (borland.public.delphi.language.basm)
  • Re: Fastcode Memory Read Rules
    ... The two rules are for different string types ... How far beyond the end of the ansistring can allways safely be read and is garuanteed to not violate the general rule? ... I can't image that the allocator would waste more then maybe 8 bytes? ... hmz i only allign on 8 bytes in my own paging allocator, so this could run into problems with fastcode? ...
    (borland.public.delphi.language.basm)