Sachen nach dem komma auslesen zeile für zeile...

Anfängerfragen zum Programmieren mit PureBasic.
k.o.e.i.g2

Sachen nach dem komma auslesen zeile für zeile...

Beitrag von k.o.e.i.g2 »

Hallo ich brauche eure hilfe^^

ich mache derzeit ein kleines tool

ich habe eine datei die soll ausgelesen werden und zeile für zeile in ein anderen code umwandeln also vorne ist eine zahl und die brauch ich nicht ich brauchste sowas wie

split() bei php

das alles nach dem komma als variable ausgibt und das für zeile und zeile
so eine datei kann schon mal über 2500 zeilen haben und es soll schnell sein


#hoffe ich bekommen hilfe

Hier ist so eine zeile aus der datei


Code: Alles auswählen

ZAHL, MODELL NAME, 0, X, Y, Z, rX, rY, rZ, 1, -1
soll in

Code: Alles auswählen

CreateObject(ZAHL, X, Y, Z, rX, rY, rZ);
Zuletzt geändert von k.o.e.i.g2 am 18.11.2007 22:32, insgesamt 1-mal geändert.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ich weiß nicht, ob ich dich richtig verstanden habe, aber ist vielleicht StringField() das, was du suchst?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

Sorry aber erst denken dann posten...
Erst willste ZAHL nicht bei CreateObject haste se dann doch widda?!
Außerdem wäre ne exakte Erklärung zu Split() angebreacht gewesen...

Anyways:

Code: Alles auswählen

String.s = "ZAHL, MODELL NAME, 0, X, Y, Z, rX, rY, rZ, 1, -1"

Dim Res.s(10)

For i = 0 To CountString(String, ",")
  Res(i) = StringField(String, i + 1, ",")
Next i

Debug "CreateObject(" + Res(0) + ", " + Res(3) + ", " + Res(4) + ", " + Res(5) + ", " + Res(6) + ", " + Res(7) + ", " + Res(8) + ");"
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

split("teiler","zeichenkette"[,"max"])

Beschreibung:
Teilt eine Zeichenkette bei jedem Vorkomniss von "teiler" und fügt sie in ein Array. Es werden aber nur "max"-Anzahl von Elementen erstellt. Im Gegensatz zu explode() können mit split auch Reguläre Ausdrücke verwendet werden.

Beispiel:

Code: Alles auswählen

$namen = "hans peter\nthomas";
$namen_array = split("( |\n)",$namen);
echo $namen_array[1]; 


Ausgabe: peter
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
k.o.e.i.g2

Beitrag von k.o.e.i.g2 »

ok also hier ein beispiel

Codes kommen hin textfeld--->
convertirt codes(bsp.)
code:
1655, waterjumpx2, 0, 557.485, -2436.75, 27.3469, 0.544640852495, 0, 0, -0.838669387657, -1[/code]


und so muss es im readonly textfeld aussehn
code:
CreateObject(1655, 557.485, -2436.75, 27.3469, -294, 0, 0);

hoffe kann eine helfen bin neu im scripten :)
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Wenn es Script ist muss du dir selber erst ein Interpreter schreiben.

Erst die Quelle auseinandernehmen und dann die einzelnen werte wieder neu zusammen setzen.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

-.-
Gibt's das jetzt auch ma als Klartext?!
1) Was willst du GENAU?
2) Woher kommen die Daten?
3) Was soll mit den Daten passieren?

>Codes kommen hin textfeld--->
Wohin gehen die Codes?! In nen Textfeld?! *kopfkratz*

Wie kann das
>1655, waterjumpx2, 0, 557.485, -2436.75, 27.3469, 0.544640852495, 0, 0, -0.838669387657, -1
>ZAHL, MODELL NAME, 0, X, Y, Z, rX, rY, rZ, 1, -1
zu dem
>CreateObject(1655, 557.485, -2436.75, 27.3469, -294, 0, 0);
>CreateObject(ZAHL, X, Y, Z, rX, rY, rZ);
werden?!
Woher soll die -294 kommen?!

Btw macht mein oben geposteter Code eigentlich genau das, zumindest nachdem was man deinen Posts entnehmen kann, was du willst...

@STAR
ich weiß was split() tut nur wenn man Hilfe erwartet kann man Befehle aus anderen Sprachen ja auch erklären, damit nicht jeder ersma in ner PHP-Manual nachgucken muss...
Benutzeravatar
dysti
Beiträge: 656
Registriert: 10.02.2006 18:34
Wohnort: Schlicktown

Beitrag von dysti »

werde auch nicht schlau aus den Ausführungen?????????
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Antworten