Seite 1 von 7

Zähler einbauen

Verfasst: 07.07.2007 09:56
von tipyo
Guten Tag,

ich bin neu hier. Habe früher immer mit VB6 programmiert.
Leider ist dies doch sehr langsam.
Nun wollte ich es mal mit PureBasic probieren.

1. Frage - gibt es eine Möglichkeit den Quelltext von VB nach PureBasic umzuwandeln?

2. Frage - wie baut man einen Zähler ein.
In eine txt Datei schreibe ich z.B.
01 02 03 04 05 06
01 02 03 04 05 07
usw.

Am Ende, wenn alles geschrieben ist - sollte ein Zähler mir anzeigen
wieviel Zeilen geschrieben wurden. In dem Beispiel dann = 2.

Würde mich über Eure Hilfe sehr freuen.

Besten dank

tipyo

Verfasst: 07.07.2007 10:16
von Kaeru Gaman
1. nein.
musst du alles manuell übertragen, und dann wirst du schlechten code rausbekommen.
besser ist komplett neu schreiben.

2.
verwende eine schleife, eine variable als zähler, und gebe diese am ende der schleife aus.

das ist aber kein PB-spezifisches problem, sondern etwas,
was man in jeder programmiersprache so macht,
sollte dir eigentlich also von VB bekannt sein.

Verfasst: 07.07.2007 10:24
von tipyo
Hallo,

tolle Antwort!
Wie man in VB so etwas schreibt - ist doch klar.
Nur wie in Pure Basic?

In VB hatte ich dies so gelöst:

'Beginn Zähler
Open ("Platzhalter-" + frm_Mega.Text1.Text + ".txt") For Input As 1
If Eof(1) = True Then Close: MsgBox "Es wurden keine Spiele berechnet", vbInformation, "T I P Y O (1.0)": Goto fertig
Do
Line Input #1, buffers$
Zaehler = Zaehler + 1
Loop Until Eof(1)
Close
'Ende Zähler


mfg

tipyo

Verfasst: 07.07.2007 10:40
von Kaeru Gaman
> tolle Antwort!
zu ner tollen frage.

> Wie man in VB so etwas schreibt - ist doch klar.
> Nur wie in Pure Basic?
is doch genauso klar.

auch in der Demo ist ne Help enthalten.

im abschnitt File findest du die File-Befehle.
die entsprechung von
> Open "Name" For Input As 1
ist zum beispiel
> ReadFile(1, "Name")
die entsprechung von
> Line Input #1, buffers$
ist
> buffers$ = ReadString(1)

die schleife heißt Repeat : Until

und Zaehler = Zaehler + 1 ist absolut dasselbe....

also, ist die antwort auf deine frage "wie baut man einen Zähler ein. "
natürlich ganz einfach "genauso wie in VB"

Verfasst: 07.07.2007 10:47
von tipyo
Hallo,

vielen Dank für Deine Antwort.

Ich dachte das dieser Bereich für Anfänger gedacht sei
nur desshalb habe ich so (für Dich) eine tolle Frage gestellt.

Der Umstieg von VB auf PureBasic ist doch nicht so einfach!

mfg

tipyo

Verfasst: 07.07.2007 10:49
von tipyo
Habe noch etwas vergessen.

Und wie kommt dann die MsgBox zu stande?


mfg

tipyo

Verfasst: 07.07.2007 10:58
von D@nte
1.) Gibt's nen Edit-Button
2.) Gibt's ne PureBasic.chm
3.) Gibt's nen Ordner Examples
4.) MessageRequester

Was ist eigentlich so schwer daran sich mal Hilfe, Examples und Tuturials anzusehen bevor man nach vorgekauten schreit?!

Verfasst: 07.07.2007 10:59
von Kaeru Gaman
entschuldige meine seltsame antwort,
aber die frage war eben sehr ungenau formuliert.

dein codesnippet lautet übersetzt:

Code: Alles auswählen

; Beginn Zähler
Name$ = GetGadgetText(#Text1)
ReadFile(1,"Platzhalter-" + Name$ + ".txt"
If Eof(1)
  CloseFile(1)
  MessageRequester("T I P Y O (1.0)", "Es wurden keine Spiele berechnet", #MB_ICONINFORMATION)
  Goto fertig
EndIf
Repeat
  buffers$ = ReadString(1)
  Zaehler = Zaehler + 1
Until Eof(1)
CloseFile(1)
; Ende Zähler 
wobei der kompliziertere teil der zugriff auf das Textgadget ist.
#Text1 ist eine Konstante, die du vorher definieren musst, die nummer des Textgadgets.
du musst also mit einem befehl das fenster erzeugen und dann in diesem fenster das Gadget mit eben dieser Nummer,
dann kannst du auch später dessen Inhalt mittels GetGadgetText() auslesen.

der gewichtigste Unterschied von VB zu PB ist, dass PB rein prozedural ist.
das bedeutet unter anderem auch, dass du deine Event-Schleife für
die Eventbehandlung deiner Fenster komplett selber coden musst.

der VisualDesigner, der bei PB dabei ist, nimmt dir da einiges an arbeit ab.

aber das auslesen aus einer datei und sowas wie ein zähler
ist wirklich sehr einfach und nicht groß unterschiedlich zu VB.
im grunde lauten die befehle nur anders und erwarten etwas andere argumente,
aber grundsätzlich sind es die selben funktionen.

beim umstieg von einem anderen Basic ist es wirklich einfach genug,
wenn man sich mal die hilfe anschaut, die Befehle durchliest,
und evtl. auch das eine oder andere tutorial durchprobiert.

PS:
die verwendung von "GOTO" ist in KEINEM Basic-Dialekt eine gute Art zu Programmieren.

Verfasst: 07.07.2007 11:04
von tipyo
Hallo Kaeru Gaman,

vielen lieben Dank für Deine Hilfe.

Ich werde Euch dann nicht mehr belemmern!


Ende

tipyo

Verfasst: 07.07.2007 11:08
von Kaeru Gaman
sei nicht gleich beleidigt!

das wichtigste beim umstieg auf eine andere programmiersprache ist immer,
sich erst einmal die befehlsreferenz anzuschaun und sich einen eindruck zu verschaffen.

wenn jemand ins VB-forum kommt und ungenaue fragen stellt,
wird er bestimmt auch nicht mit Sekt und Konfetti empfangen... ;)