SPLIT/de

(Difference between revisions)
Jump to: navigation, search
((**COPIED FROM ENGLISH PAGE**) =)
(Remarks)
Line 15: Line 15:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Remarks</span> =
+
= <span class="f_Header">Anmerkungen</span> =
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
{| width="573" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
 
{| width="573" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
Line 23: Line 23:
  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
The number of elements that SPLIT() returned. When the array is not big enough to fill the array, this will be the maximum size of the array. So make sure the array is big enough to hold the results.
+
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.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 30: Line 30:
  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
The source string or string constant to search for.
+
Zeichenkette oder Zeichenketten-Konstante, die zerlegt werden soll.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 37: Line 37:
  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
The index of the first element of the array that will be filled
+
Erstes Element des zu befüllenden Arrays.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 44: Line 44:
  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" |  
The character to search for. This can be a string or string constant or a byte with the ASCII value.
+
Zeichen, an dem getrennt werden soll. Kann ein Zeichen oder eine Zeichen-Konstante sein oder ein ASCII-Wert (Byte).
  
 
|}
 
|}
Line 50: Line 50:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
When you use the serial port to receive data, in some cases you need to process the data in parts.
+
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.
  
For example when you need to split an IP number as "123.45.24.12" you could use INSTR() or you can use SPLIT().
+
Zum Aufteilen einer IP-Adresse wie zum Beispiel "123.45.24.12" kann man INSTR() benutzen oder SPLIT().
  
You must DIM the array yourself. The content of the array will be overwritten.
+
Das Array muss vom Programmierer mit DIM definiert werden. Der Inhalt des Arrays wird durch SPLIT() überschrieben.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
It is also important to know that the individual elements of the array need to be big enough to store the string part.
+
Wichtig ist auch, zu beachten, dass die einzelnen Elemente des Arrays groß genug sein müssen um die Teile der Zeichenkette aufzunehmen.
  
For example when the array has 5 elements and each element may be 10 characters long, a string that is 11 bytes long will not fit. Another element will be used in that case to store the additional info.
+
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.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
The SPLIT function takes care not to overwrite other memory. So when you split "1.2.2.2.2.2.2.3.3.3" into an array of 3 elements, you will loose the data.
+
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.
  
If empty data is encountered, an empty element will be created. Thus "1,2,3,,5" will create 5 elements. Element 4 will be empty.
+
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.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>

Revision as of 00:55, 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.

 

 

See also

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