SPLIT/de

(Difference between revisions)
Jump to: navigation, search
(Remarks)
(See also)
Line 72: Line 72:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">See also</span> =
+
= <span class="f_Header">Siehe auch</span> =
  
 
[[INSTR]]&nbsp;,&nbsp;[[CHARPOS]]
 
[[INSTR]]&nbsp;,&nbsp;[[CHARPOS]]

Revision as of 00:56, 21 February 2013

Contents

Funktion

Verteilt eine Zeichenkette in eine Anzahl von Array-Elementen.

 

 

Syntax

count = SPLIT (source, array, search)

 

 

Anmerkungen

count

Anzahl von Elementen, die SPLIT() zurückgegeben hat. Wenn das Array nicht groß genug definiert ist um alle Teilstrings aufzunehmen dann ist das die Maximalgröße des Arrays. Stellen Sie daher sicher, dass das Array groß genug ist um die Ergebnisse aufzunehmen.

source

Zeichenkette oder Zeichenketten-Konstante, die zerlegt werden soll.

array

Erstes Element des zu befüllenden Arrays.

search

Zeichen, an dem getrennt werden soll. Kann ein Zeichen oder eine Zeichen-Konstante sein oder ein ASCII-Wert (Byte).

 

Wenn die serielle Schnittstelle für Daten-Empfang benutzt wird dann möchte man in manchen Fällen die Daten für die Weiterverarbeitung in Teile zerlegen.

Zum Aufteilen einer IP-Adresse wie zum Beispiel "123.45.24.12" kann man INSTR() benutzen oder SPLIT().

Das Array muss vom Programmierer mit DIM definiert werden. Der Inhalt des Arrays wird durch SPLIT() überschrieben.

 

Wichtig ist auch, zu beachten, dass die einzelnen Elemente des Arrays groß genug sein müssen um die Teile der Zeichenkette aufzunehmen.

Wenn ein Array beispielsweise 5 Elemente mit je 10 Zeichen hat dann kann eine Zeichenkette mit 11 Zeichen nicht aufgenommen werden und überschreibt ggf. weitere Elemente.

 

Die SPLIT-Funktion überschreibt keinen 'fremden' Speicherbereich. Wenn zum Beispiel "1.2.2.2.2.2.2.3.3.3" auf ein Array mit 3 Elementen zerteilt werden soll dan gehen die DATEN verloren.

Wenn leere Daten zwischen den Trennzeichen auftreten dann werden leere Array-Elemente erzeugt. Also werden bei "1,2,3,,5" fünf Elemente erzeugt von denen das vierte leer ist.

 

 

Siehe auch

INSTR , CHARPOS

 

 

Example


'--------------------------------------------------------------
' mega48.bas
' mega48 sample file
' (c) 1995-2005, MCS Electronics
'--------------------------------------------------------------
$regfile = "m48def.dat"
$crystal = 8000000
$baud = 19200
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
 
 
Dim S As String * 80
Dim Ar(5) As String * 10
Dim Bcount As Byte
 
'The split function can split a string or string constant into elements
'It returns the number of elements
'You need to take care that there are enough elements and that each element is big enough
'to hold the result
'When a result does not fit into 1 element it will be put into the next element
'The memory is protected against overwriting.
 
S = "this is a test"
 
Bcount = Split( "this is a test" , Ar(1) , " ")
'bcount will get the number of filled elements
'ar(1) is the starting address to use
'" " means that we check for a space
 
'When you use " aa" , the first element will contain a space
Bcount = Split( "thiscannotfit! into the element" , Ar(1) , " ")
 
Dim J As Byte
For J = 1 To Bcount
Print Ar(j)
Next
 
'this demonstrates that your memory is safe and will not be overwritten when there are too many string parts
Bcount = Split( "do not overflow the array please" , Ar(1) , " ")
 
For J = 1 To Bcount
Print Ar(j)
Next
End

Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language