Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > XProfan-Stammtisch

XProfan-Stammtisch Für alle Themen die nichts mit der XProfan-Programmierung zu tun haben.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26958, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50958, Antworten: 1397
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3353, Antworten: 128
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7666, Antworten: 186
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 324, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 67, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 154, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 79, Antworten: 4
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30.10.2011, 14:33   #1 (Direktlink)
Ist öfter hier
 
Registriert seit: 12.04.2009
Beiträge: 52
Standard Explode

Explode finde ich ja für sehr nützlich.
Manchmal braucht mans eben auch mal
anders rum. Gerade, wenn man z.B. Daten
im Programm in Arrays[] hält und am Ende
in eine Datei schreiben will. Seit man Arrays[]
an Procs übergeben kann, kein Problem.
Evtl. kann es jemand auch gebrauchen :

Code:
Declare A$[], B$[], text$
Proc Implode
Parameters Array$[], Delimiter$
Declare retString$, last&
last& = SizeOf(Array$[]) - 1
WhileLoop 0, SizeOf(Array$[]) - 1
     If &Loop = last&
        retString$ = retString$ + Array$[&Loop]
     Else   
        retString$ = retString$ + Array$[&Loop] + Delimiter$
     EndIf   
EndWhile
Return retString$
EndProc

   CLS
   B$[0] = "1"
   B$[1] = "2"
   B$[2] = "3"
   B$[3] = "4"
   
   var test$ = "Das|ist|ein|Test!"
   
   A$[] = Explode(test$, "|")
   
   WhileLoop 0, SizeOf(A$[]) - 1
     Print A$[&Loop]
   EndWhile
   Print
   
   text$ = Implode(B$[], ",")
   Print text$
   WaitInput
   End
H.Brill ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 30.10.2011, 15:01   #2 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Feine Sache!
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3
p. specht ist gerade online   Mit Zitat antworten
Alt 30.10.2011, 15:11   #3 (Direktlink)
Ist öfter hier
 
Registriert seit: 12.04.2009
Beiträge: 52
Standard

Dann ist es ja nicht unnütz.

Geändert von H.Brill (30.10.2011 um 15:39 Uhr)
H.Brill ist offline   Mit Zitat antworten
Alt 30.10.2011, 17:41   #4 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von _Joerg_
 
Registriert seit: 15.02.2011
Beiträge: 106
Standard

Es geht auch ohne Schleife. Dürfte bei größeren Arrays erheblich schneller sein:

Code:
Declare Arr$[]
Cls
WhileLoop 0,6000
  Arr$[&Loop] = "Test " + Str$(&Loop)
Wend

Proc Implode
  Parameters A$[]
  Declare Wert$
  Clearlist
  MoveArrToList(A$[])
  Wert$ =MoveListToStr$("|")
  ClearList
  Return Wert$
EndProc

Var x& = &GetTickCount
Print Implode(Arr$[])
Print &getTickCount - x&
WaitInput
__________________
Anhören lohnt sich wuestensand.info
_Joerg_ ist offline   Mit Zitat antworten
Alt 30.10.2011, 18:47   #5 (Direktlink)
Dauergast
 
Benutzerbild von p. specht
 
Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.082
Standard

Wenn einen das zuletzt angefügte Trennzeichen nicht stört: OK (Schlimmstenfalls kann man es ja entfernen).

Es geht sogar ohne explizite Testbelegungsschleife , z.B. mittels &Index:
Code:
Declare Arr$[]:SetSize Arr$[],6001:Arr$[]="Test "+Str$(&Index)
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3

Geändert von p. specht (30.10.2011 um 18:57 Uhr)
p. specht ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > XProfan-Stammtisch

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an




Alle Zeitangaben in WEZ +2. Es ist jetzt 11:55 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2