AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strings kommen nicht richtig an..

Ein Thema von EWeiss · begonnen am 23. Okt 2010 · letzter Beitrag vom 24. Okt 2010
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 22:55
Ich sende einen String den ich vorher in ein byte Array konvertiert habe.
Der String sieht als BEispiel vorher so aus.

"C:\Programme"

Wenn ich nun diesen in VB mit meinen Tracer entgegennehme
sieht er so aus.

"C : \ P R O G R " usw...

Den string konvertiere ich auf diese weise..

Delphi-Quellcode:
var
  IntI: Integer;
begin
  IntI := Length(_string);
  SetLength(_binary, IntI);
  CopyMemory(@_binary[0], @_string[1], IntI);
warum kommt nun so ein verkrüppelter String dabei raus ?

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 22:57
Welche Delphi-Version?

Riecht ein wenig nach Unicode (2 Byte)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 22:58
Welche Delphi-Version?

Riecht ein wenig nach Unicode (2 Byte)
D2009

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 23:02
Jupp, Unicode.

Wenn _string: String , dann
Delphi-Quellcode:
begin
  IntI := Length(_string) * SizeOf(Char);
  SetLength(_binary, IntI);
  CopyMemory(@_binary[0], @_string[1], IntI);
Aber Achtung: Beim Datentransfer NIE dynamische Typen verwenden.

Besser direkt generische Typen, wie AnsiString oder UnicodeString/WideString, bzw. AnsiChar oder WideChar verwenden, damit das Datenformat nicht Compilerabhängig ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 23:05
Jupp, Unicode.

Wenn _string: String , dann
Delphi-Quellcode:
begin
  IntI := Length(_string) * SizeOf(Char);
  SetLength(_binary, IntI);
  CopyMemory(@_binary[0], @_string[1], IntI);
Aber Achtung: Beim Datentransfer NIE dynamische Typen verwenden.

Besser direkt generische Typen, wie AnsiString oder UnicodeString/WideString, bzw. AnsiChar oder WideChar verwenden, damit das Datenformat nicht Compilerabhängig ist.
Ich werde es mal versuchen Danke
Obwohl ich bei WideString genau das gleiche ergebnis bekomme..

Hier meine Widestring function
Delphi-Quellcode:
var
  IntI: Integer;
begin
  IntI := Length(_WString) * SizeOf(WideChar);
  SetLength(_binary, IntI);
  CopyMemory(@_binary[0], @_WString[1], IntI);
gruss
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 23:07
Logisch, ist ja definitiv Unicode
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 23:13
Logisch, ist ja definitiv Unicode
Ich habe das ergebnis bei beiden
Auch nach der geänderten Fassung.
Muss nochmal prüfen ob ich das gleiche ergebnis auch von VB nach VB habe ..

Wenn ich so überlege scheint es doch richtig zu sein denn ich setze es ja selbst ins Unicode Format wenn es in VB ankommt
Der Übeltäter könnte dann auch #9 = vbTab sein oder aber es wird der Delemiter "," nicht mit übergeben.

EDIT:
Nop ist nicht richtig wie es ankommt
Von VB to VB sieht es aus wie auf Bild 2 (mist2.jpg)

gruss

Geändert von EWeiss ( 9. Jul 2019 um 08:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Strings kommen nicht richtig an..

  Alt 23. Okt 2010, 23:59
VB ist Ansi

Wenn du Unicode versendest, dann empfängt man auch Unicode.

Willst du ANSI empfangen, dann mußt du natürlich ANSI versenden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Strings kommen nicht richtig an..

  Alt 24. Okt 2010, 00:10
VB ist Ansi

Wenn du Unicode versendest, dann empfängt man auch Unicode.

Willst du ANSI empfangen, dann mußt du natürlich ANSI versenden.
Arghh leuchtet mir ein

Danke !
Hoffe es funktioniert jetzt.

EDIT:Jetzt kommt alles korrekt an und wird richtig ausgegeben.

gruss

Geändert von EWeiss (24. Okt 2010 um 00:16 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 00:31 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