ASCII-dateiinhalt in verschiedene strings einlesen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic09 hat geschrieben:aber kann mir jemand zu meiner inzwischen neuen frage helfen?
wir haben hier ne leichte Diskrepanz.

Zum einen postest Du einen Code von Deinem Kollegen, der anscheinend
weiß, wie man Daten in eine DB einträgt und zum anderen kommt
folgender Code von Dir:
PureBasic09 hat geschrieben:

Code: Alles auswählen

Command$ = StrF(kont_zahl.f,3)
If DatabaseQuery(1,Command$) 
  While  NextDatabaseRow(1) 
    kont_zahl = Val(GetDatabaseString(1,0))
  Wend
Else
EndIf
... der ziemlich gut verdeutlicht, dass Du eigentlich noch immer nicht so
richtig weißt, was Du da eigentlich machst.

Nun gibt es zwei Möglichkeiten:

1.) Dein Kollege meldet sich hier im Board an und wir erklären ihm in
kurzen Worten, wie es gemacht wird.

oder

2.) Wir erklären es Dir. Dann prophezeie ich allerdings einen weiteren
mehrseitigen Thread.

Grüße ... Kiffi
Zuletzt geändert von Kiffi am 24.06.2009 10:11, insgesamt 1-mal geändert.
a²+b²=mc²
PureBasic09
Beiträge: 33
Registriert: 16.06.2009 13:21
Wohnort: Sachsen

Beitrag von PureBasic09 »

mir wäre 2. lieber, denn ich möchte ja nun in richtung PureBasic mich weiterentwickeln
[jaPBe] + [PB 4.31] + [MS Wind XP - SP3]
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Beitrag von Kurzer »

Falls Du das Datenbankzeug wirklich brauchst, dann würde ich folgendes vorschlagen:
Laß den PAU-Kram von Deinem Kollegen fertig coden und fang selbst mit einafcheren Dingen an (jetzt aber nicht mit nem Ballergame oder so kommen ;) ).

Hast Du denn schon in irgend einer Programmiersprache Erfahrung?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PureBasic09
Beiträge: 33
Registriert: 16.06.2009 13:21
Wohnort: Sachsen

Beitrag von PureBasic09 »

C++, Step7
[jaPBe] + [PB 4.31] + [MS Wind XP - SP3]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic09 hat geschrieben:mir wäre 2. lieber, denn ich möchte ja nun in richtung PureBasic mich weiterentwickeln
ok. Dann benötigen wir allerdings weitere Informationen von Dir.

Deine Frage bezieht sich nicht auf den Code Deines Kollegen (denn da
kann (soweit ich das sehen kann) das von Dir geschilderte Problem gar nicht
auftreten), sondern auf einen anderen Code. Ist das korrekt?

Wenn ja, dann zeig mal den Dateiinhalt und Deinen kompletten Code.

Grüße ... Kiffi
a²+b²=mc²
PureBasic09
Beiträge: 33
Registriert: 16.06.2009 13:21
Wohnort: Sachsen

Beitrag von PureBasic09 »

PBT
ab-100d180
Schütz 100-D180 90kW
-60.00
-85.00
60.00
85.00
1|11|-50.00|72.50
2|11|50.00|72.50
3|11|-50.00|-72.50
4|11|50.00|-72.50
PBT-END
die fetten zahlen müssten mir auch genauso angezeigt werden, denn in meiner datanbank werden sie als 73.00 und -73.00 angezeigt

der restliche inhalt ist irrelevant, denn ich brauche diese kommazahlen genauso wie sie dastehen

hier ist der quellcode, in dem ich das format bestimme...

Code: Alles auswählen

P005_eintragen_haupt_bauteil: ;{
  If baut_max_ZN > 0 
    command.s = "INSERT INTO baut_haupt_TEMP (" 
    command.s + "  PBT_lnr"
    command.s + ", PBT_ZNr"
    command.s + ", PBT_PWZ_Nr"
    command.s + ", [b]PBT_Mas_X[/b]"
    command.s + ", [b]PBT_Mas_Y[/b]"
    command.s + " ) VALUES ("
    
    command.s + ""    + Str(baut_max_ZN) + ""
    command.s + ", '" + sonderzeichen(baut_DB.s(7,0)) +"' " 
    command.s + ", '" + sonderzeichen(baut_DB.s(8,0)) +"' "  
    command.s + ",  " + baut_DB.s(9,0) +" " 
    command.s + ",  " + baut_DB.s(10,0) +" " 
  
    command.s + ")"
    If DatabaseQuery(0,command) : While NextDatabaseRow(0) : Wend  : EndIf
  EndIf
Return;}
die 2 fett-markierten inhalte sind die, die in der datei als 72.50 und -72.50 angezeigt werden

hoffe die infos sind ausschlaggebend
[jaPBe] + [PB 4.31] + [MS Wind XP - SP3]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

PureBasic09 hat geschrieben:
PBT [...]
diese Datei sieht der PAU-Datei ja ziemlich ähnlich. Da Du für PAU den Code
ja bereits hast, dürfte es kein Problem sein, ihn entsprechend für PBT
anzupassen.

Die Werte liest Dein Kollege aus der PAU-Datei als String aus und speichert
sie als String in die Datenbank. Es sollte eigentlich nicht zu Rundungsproblemen kommen.

Ansonsten mal in der Datenbank nachschauen, welches Datenformat das
entsprechende Feld dort hat.

Grüße ... Kiffi

// Edit: Deinen Code-Nachtrag habe ich zu spät gesehen.
a²+b²=mc²
PureBasic09
Beiträge: 33
Registriert: 16.06.2009 13:21
Wohnort: Sachsen

Beitrag von PureBasic09 »

die datenformate sind integer und text
[...]
command.s + " PBT_lnr" <----integer
command.s + ", PBT_ZNr" <----integer
command.s + ", PBT_PWZ_Nr" <----text
command.s + ", PBT_Mas_X" <----integer
command.s + ", PBT_Mas_Y" <----integer
[...]
[jaPBe] + [PB 4.31] + [MS Wind XP - SP3]
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Integer kann nur Ganzzahlen darstellen. Du musst das Feld in der
Datenbank auf einen Datentypen umstellen, der Nachkommazahlen
aufnehmen kann.

Grüße ... Kiffi
a²+b²=mc²
PureBasic09
Beiträge: 33
Registriert: 16.06.2009 13:21
Wohnort: Sachsen

Beitrag von PureBasic09 »

das müsste float sein oder?
[jaPBe] + [PB 4.31] + [MS Wind XP - SP3]
Antworten