Seite 1 von 4

Konvertierung von C zu PureBasic

Verfasst: 04.07.2006 15:14
von real
Hi,

wie sieht sowas in PureBasic aus?

Code: Alles auswählen

char * tex_name[ 6 ]  = {
  "wie",
  "macht",
  "man",
  "das",
  "in",
  "PureBasic"
}
Ich würde ja noch bis tex_name.s(6) kommen, aber dann?

Verfasst: 04.07.2006 15:23
von MVXA

Code: Alles auswählen

DataSection
    tex_name:
        data.s "wie", "macht", "man", "das", "in", "PureBasic"
EndDataSection

Verfasst: 04.07.2006 15:23
von Kaeru Gaman
in PB musst du die werte aus DATA oder einer Datei einlesen, sofern du sie nicht direkt hinschreiben willst:

Code: Alles auswählen

Dim tex_name.s(5)

text_name(0) =  "wie", 
text_name(1) =  "macht", 
text_name(2) =  "man", 
text_name(3) =  "das", 
text_name(4) =  "in", 
text_name(5) =  "PureBasic"
[edit]

ACHSOOOOOO

MVXA hat recht. das ist das Äquivalent einer DATA-section...
hab mich jetzt von deinem tex_name.s(6) durcheinander machen lassen...

Verfasst: 04.07.2006 16:01
von real
MVXA hat geschrieben:

Code: Alles auswählen

DataSection
    tex_name:
        data.s "wie", "macht", "man", "das", "in", "PureBasic"
EndDataSection
Wenn ich das so mache meckert er im oberen Programmabschnitt rum, er würde tex_name nicht kennen. :(

Verfasst: 04.07.2006 16:07
von Kiffi
wie sieht denn der "obere Programmabschnitt" aus?

Grüße ... Kiffi

Verfasst: 04.07.2006 16:14
von MVXA

Code: Alles auswählen

Macro tex_name(Index)
    PeekS(?tex_name_img+(Index*4))
EndMacro

Debug tex_name(1)

DataSection
    tex_name_img:
        Data.s "so", "macht", "man", "das", "in", "PureBasic"
EndDataSection

Verfasst: 04.07.2006 16:42
von DarkDragon
MVXA hat geschrieben:

Code: Alles auswählen

Macro tex_name(Index)
    PeekS(?tex_name_img+(Index*4))
EndMacro

Debug tex_name(1)

DataSection
    tex_name_img:
        Data.s "so", "macht", "man", "das", "in", "PureBasic"
EndDataSection
Hmm ne, also das ist definitiv falsch.

Ich würds so wie Kaeru_Gaman lösen.

Verfasst: 04.07.2006 17:01
von MVXA
> Hmm ne, also das ist definitiv falsch.
Warum?

> Ich würds so wie Kaeru_Gaman lösen.
ich z.b. nich.. Wozu array mit werten laden und zeit verschwenden,
wenns schon vorher im speicher stehen kann

Verfasst: 04.07.2006 17:05
von ts-soft
falsch :?:
Dann ist meins auch falsch, ist sowie nicht die schnellste, aber schreibfaulste Lösung :mrgreen:

Code: Alles auswählen

Macro tex_name ( index )
  StringField( "wie;macht;man;das;in;PureBasic;", index + 1, ";")
EndMacro

For I = 0 To 5
  Debug tex_name( I )
Next

Verfasst: 04.07.2006 18:07
von #NULL
@MVXA
dein code funktioniert nur wenn alle gespeicherten strings jeweils 3 byte gross sind (ohne 0-char).