Autor Thema: Konveriterung Array -> String  (Gelesen 2188 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Konveriterung Array -> String
« am: 22.01.07 - 17:14:18 »
Hallo hier eine ganz kurze Sache.


Möchte aus einem Array einen Wert in einen String Konvertieren.

bis jetzt habe ich es folgendermassen versucht :

Code

Dim array(0) as Variant
Dim string as String

string = Cstr(array(0))



funzt aber nicht, er gibt mir einen Typmissmachted zurück.

Bedanke mich schonmal für die Antworten
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Glombi

  • Gast
Re: Konveriterung Array -> String
« Antwort #1 am: 22.01.07 - 17:26:29 »
Das geht mit Implode alias Join

Concatenates all members of an Array of Strings and returns a string. Elements of the Array are separated by a delimiter, if provided, or the space character (" ").
Syntax
Implode(sourceArray as Variant, [delimiter as String]) as String
Elements
sourceArray
One-dimensional Array containing the substrings to be concatenated. sourceArray can be an array of Strings, or an array of Variants. If sourceArray is an array of Variants, Implode will attempt to convert any non-string elements to Strings.
delimiter
 Optional String containing separation character(s) for the concatenated Strings
Return value
Implode returns a String containing the elements of sourceArray with delimiter between elements, or with the space character " " as a separator if delimiter is not specified.
Usage
Implode creates a String that will hold the concatenation of sourceArray. Implode then iterates through sourceArray, With each iteration, Implode converts the next element of sourceArray to a String, if necessary, and appends it to the concatenation String. If more elements remain in sourceArray, a delimeter (either " " or the specified value) is appended to the concatenation String and Implode continues to iterate. After all elements of sourceArray have been concatenated, Implode returns the concatenation String.
Error handling
Implode will throw a Run-time Type mismatch if:
an element in a variant array cannot be coerced to a string.
the delimiter is set to nothing.
the array passed in is not of either type string or variant.
a list is passed instead of an array.
the array passed in contains an element set to nothing.
the array passed in has not been properly initialized.
Implode will throw a run-time Wrong Number of Dimensions error if the array is not one-dimensional.
Implode will throw a run-time Invalid Use of Null error if the array passed in contains an element set to null or if the delimiter is set to null.
Hinweis  Implode is an alias of Join and is identical in every way.

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Konveriterung Array -> String
« Antwort #2 am: 22.01.07 - 17:49:54 »
hmmm will nicht.

Code
string = Trim(Implode(Array," "))

ist doch eigentlich richtig, oder?
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Konveriterung Array -> String
« Antwort #3 am: 22.01.07 - 18:37:59 »
Die Zeile sieht für sich allein gesehen erstmal soweit richtig aus.

Aber wie sieht die Umgebung aus, sprich der Code drumrum. Und vor allem, was will nicht.

Ein paar mehr Infos wären hilfreich. Mein Kristallkugel ist noch im Winterurlaub.  ;)


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Konveriterung Array -> String
« Antwort #4 am: 22.01.07 - 18:41:33 »
Die sache ist ganz einfach:

Dim array( 0 ) as Variant... So lange da noch nix anderes gelaufen ist, kann array( 0 ) ALLES sein (auch ein NotesDocument, ein Array mit 10 Werten, ein Excel- Objekt )

In diesem Stadium ist ein CStr schlicht und ergreifend nicht möglich (was sollte Cstr( NotesDocument ) auch zurückliefern, um nur ein Beispiel zu nennen).

Du must in array( 0 ) erst mal irgendwas schreiben, dann kannst Du dieses "irgendwas" auch mit CStr umwandeln (sofern sich das Objekt sowas gefallen lässt)...

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Konveriterung Array -> String
« Antwort #5 am: 22.01.07 - 20:03:47 »
Du kannst die Funktion Datatype benutzen, um den Datentyp abzufragen.
Such mal in der Designer-Hilfe nach Datatype.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Konveriterung Array -> String
« Antwort #6 am: 23.01.07 - 08:43:29 »
in dem Array steht ja was drin. Es ist immer ein String ! Immer ! Wenn ich mir die Daten aus dem Debugger geben lasse sagt er mir sagor, dass es ein String ist.

der Code drumherum sieht folgendermassen aus.

Code
			searchField = docProfile.GetItemValue("firstkey")(0)
			varSourceArray(0) = docCol.GetItemValue(searchField)(0)
			varResult(0)= Replace( varSourceArray, varFindArray, varReplaceArray)
			searchValue = Trim(Cstr(Implode(varResult(0))))
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Konveriterung Array -> String
« Antwort #7 am: 23.01.07 - 08:56:15 »
sach mal: Du hast noch keinen Debugger bemüht, oder ?

in varResult(0) steht ein ARRAY mit einem Wert.

Im Debugger müsste das irgendwie so aussehen:

varResult
  -

      -[0] DeinString

mal ganz abgesehen dass Du in Deinem Code wild zwischen (0) und ohne (0) hin und her springst.


Korrekt wäre das ganze schlicht und ergreifend so:

dim varSourceArray as Variant
Dim varResult as Variant

searchField = docProfile.GetItemValue("firstkey")(0)
varSourceArray = docCol.GetItemValue(searchField)
varResult = Replace( varSourceArray, varFindArray, varReplaceArray)
searchValue = Trim(Cstr(Implode(varResult(0))))

Gruß
Tode


Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Konveriterung Array -> String
« Antwort #8 am: 23.01.07 - 09:29:28 »
in dem Array steht ja was drin. Es ist immer ein String ! Immer ! Wenn ich mir die Daten aus dem Debugger geben lasse sagt er mir sagor, dass es ein String ist.

der Code drumherum sieht folgendermassen aus.

Code
			searchField = docProfile.GetItemValue("firstkey")(0)
			varSourceArray(0) = docCol.GetItemValue(searchField)(0)
			varResult(0)= Replace( varSourceArray, varFindArray, varReplaceArray)
			searchValue = Trim(Cstr(Implode(varResult(0))))

Ich glaube schon dass ich den Debugger angemacht habe oder ?

Und auch mit deiner Version funktioniert es nicht

Habe es nun

Code

Dim varResult as Variant
Dim searchValue as String

varResult = Replace( varSourceArray, varFindArray, varReplaceArray)
searchValue = Trim(Cstr(varResult(0)))


So funktioniert es. Das Implode hat gestört, ohne es geht es jetzt wunderbar.

Danke für die Mühe
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz