[GELÖST] String aus Datei auslesen und "aufsplitten&quo
Übersicht

CO2ehemals "SirMO"Betreff: [GELÖST] String aus Datei auslesen und "aufsplitten&quo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
habe mal wieder ein Problem: Ich bastle gerade einen ScriptReader für "Undead Cut Down". Nun sieht die Anordnung im Script wie folgt aus: Code: [AUSKLAPPEN] vname=Peter
nname=Carlson Dazu habe ich nun schon folgenden Code geschrieben, komme aber nicht weiter: BlitzMax: [AUSKLAPPEN] Type char Da wo die Zeile mit dem Kommentar ist, da liegt das Problem. Ich hoffe ihr könnt mir helfen. mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
- Zuletzt bearbeitet von CO2 am Mo, Nov 28, 2011 21:52, insgesamt 2-mal bearbeitet
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast verschiedene Möglichkeiten:
BlitzMax: [AUSKLAPPEN] SuperStrict |
||
Blessed is the mind too small for doubt |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder eingebaute String-Methoden:
BlitzMax: [AUSKLAPPEN] SuperStrict Mit .Find() könntest du dir selbst was passendes bauen. Einfach mal im BRL.Retro Modul schauen wie Left, Right usw. umgesetzt wurden. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Erstmal danke für die Antworten. Ich habe nun folgenden (ungetesteten) Code programmiert: BlitzMax: [AUSKLAPPEN] Type char Ich denke, das war die einfachste lösung für das Problem... Nur habe ich immernoch ein Problem: Wenn z.b. anstatt Code: [AUSKLAPPEN] vname=Franz das geschrieben wird: Code: [AUSKLAPPEN] vname = Franz wird natürlich der Name " Franz" und nicht "Franz" ausgelesen.
Kann ich irgendwie quasi einen Filter einbauen, das Leerzeichen sowie Tabs nicht mitgelesen werden? mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
grafe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Co2,
Ich glaube was du suchst ist der Befehl Trim() Kleines Beispiel: BlitzMax: [AUSKLAPPEN] Print " Hallo" mfg Grafe |
||
SpaceThreat 3D Multiplayer Spaceshooter |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die Antwort,
hier noch einmal der fertige Code: BlitzMax: [AUSKLAPPEN] Type char Ich danke allen, die halfen ![]() mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Statt tausend und ein If würde ich Select![]() ![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh, ja, natürlich,
also hier der geänderte Code: BlitzMax: [AUSKLAPPEN] Type char mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ganze lässt sich aber auch noch ein wenig anders schreiben.
Ich persönlich halte nicht sooo viel von hardcode, wie hier. (Dh pro datei individuelle werte auslesen.) Falls du das ganze auch woanders einsetzen willst, musst du jedesmal den abfragenbaum anpassen. Hier mal ein ansatz, wie es auch zu lösen ist (natürlich nur vom gedanken her, umsetzen musst du es =D) 1) Datei einlesen. While Not EOF(stream) -> jede zeile auf "=" durchsuchen und alles in eine TMap eintragen (CreateMap() ! - aufbau der zeile ist dann typischerweise zb key = value oder auch key=value, wenn du Trim benutzt!) 2) kleine abfragefunktionen schreiben - zb GetString(key, default) -> key ist hier zb vname oder nname - default ist zb "". 3) Die rückgabe sollte aus der TMap kommen - value ist bsp "Peter" und key ist "vname". Ist nichts verfügbar, gibts den Default wert zurück (um evtl weitere verarbeitung vorzunehmen oder andere standartwerte zu setzen) -> anmerkung: TMap ist case sensetiv, dh du solltest eventuell mit Lower(string) das ganze zb erst auf kleinbuchstaben bringen (beim eintragaen und auslesen!) Wenn du das ganze noch sinnvoll als type oder ähnliches abpackst, hast du ein miniframework, mit dem du eben solch formatierte dateien auslesen kannst. Bedenke aber, das ist nur ein kleiner, persönlicher einwurf um hardcode vorzubeugen. ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group