Autor Thema: "zero-terminated" String in LS verketten  (Gelesen 2089 mal)

DatenDuck

  • Gast
"zero-terminated" String in LS verketten
« am: 14.04.05 - 14:14:57 »
Hallo Leute,

eine kurze Frage in die Runde:

Eine C DLL benötigt einen verketteten "zero-terminated" String.
Wie kann ich so einen String nachbauen, bzw. wie bekomme ich das "\0" ans Ende jedes "Teilstrings"?
Reicht das evtl. schon so aus?

   Dim string1 As String
   Dim string2 As String
   Dim erg As String
   Dim nul As Variant
   
   string1 = "Eins"
   string2 = "Zwei"
   nul = Null
   
   erg = string1 & nul & string2




Vielen Dank schonmal für eure Hilfe

Bis dann,
-Moritz
« Letzte Änderung: 14.04.05 - 14:51:09 von DatenDuck »

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: "zero-terminated" String in LS verketten
« Antwort #1 am: 14.04.05 - 14:27:12 »
Wie?

Null und 0 (Zero) ist nicht dasselbe. Null stellt das NichtvorhandenseinirgendeinesDatums dar, während Zero einen Wert darstellt, eben den Wert 0, da ist also durchaus was vorhanden, auch wenn es sprachlich "nichts" ist.

Die Zeroterminated Strings in C sind relativ einfach herzustellen: am Schluss (aber wirklich ganz am Schluss) des Strings ist ein Chr$(0) anzuhängen.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

DatenDuck

  • Gast
Re: "zero-terminated" String in LS verketten
« Antwort #2 am: 14.04.05 - 14:35:32 »
Aber ist es in C nicht so, dass ein verketteter String zwischen den ursprünglichen Einzelstrings jeweils ein "\0" einbaut und auch danach als Trennzeichen entscheidet?

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: "zero-terminated" String in LS verketten
« Antwort #3 am: 14.04.05 - 14:37:17 »
Nein, ein \0 in einem C-String ist schlichtweg nicht möglch
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

DatenDuck

  • Gast
Re: "zero-terminated" String in LS verketten
« Antwort #4 am: 14.04.05 - 14:47:04 »
Ok, also ist der Unterschied nicht, dass dieses Zeichen zwischen den Teilstrings hängt, sondern dass es von C als Abschluss benötigt wird, LS es aber standardmäßig nicht hintenan hängt.

Wenn ich da richtig liege, hab ich's begriffen ;)

Danke für die Hilfe!
Bis dann,
-Moritz

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: "zero-terminated" String in LS verketten
« Antwort #5 am: 14.04.05 - 14:49:09 »
LS hängt gar nichts hinten an, LS hat intern eine Datenstruktur, in der die Länge des Strings verzeichnet ist. C eben nicht.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re: "zero-terminated" String in LS verketten
« Antwort #6 am: 14.04.05 - 14:57:18 »
In diesem Zusammenhang sei auf die Hilfe verwiesen:

Dim varName As String [* num]

The optional num argument specifies that varName is a fixed-length string variable of num characters. A fixed-length string variable is initialized to a string of null characters (the character Chr(0)).

When you assign a string to a fixed-length string variable, LotusScript truncates a longer string to fit into the declared length. It pads a shorter string to the declared length with trailing spaces.

Fixed-length strings are often used in declaring data structures for use in file I/O or C access.

An implicitly declared String variable is always a variable-length string variable.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz