 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Winkel
Anmeldungsdatum: 17.07.2006 Beiträge: 25 Wohnort: Berlin
|
Verfasst am: 21.10.2006, 13:16 Titel: Variablenlängen |
|
|
Gruss an alle
Ganz dumme und elementare Frage:
MonsterFAQ ist da nicht eindeutig genug - für mich jedenalls,
MÜSSEN die Variablen aus nur ein Buchstabe bestehen ??
Geht da nicht ein Variablenname wie CPERD ???
Gibt es ein Trick, sodass man den String CPERD als Variable nehmen könnte,
- dadurch wird das Prog. übersichtlicher wenn man NICHT jeden Tag daran arbeitet UND wenn man ziemlich vergesslich ist...
Alfredo |
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 21.10.2006, 13:35 Titel: |
|
|
Beim ersten Teil der Frage kann ich dir helfen. Variablen müssen mit einem Buchstaben anfangen, es können weitere Buchstaben oder Ziffern folgen. Unterstriche dürfen glaub ich auch drin sein.
Den zweiten Teil deiner Frage verstehe ich nicht ganz _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 21.10.2006, 13:42 Titel: |
|
|
Öhm, wenn ich dich verstehe, denkst du, dass man Variablen nur a$, b$, c$, .., z$ nennen kann, oder?
Kannst doch eigentlich jeden beliebigen Namen nehmen:
Code: |
INPUT "Dein Vorname: ", vorname$
PRINT "Hallo "; vorname$
|
Meinst du das?
Ansonsten bin ich ein wenig verwirrt. ^^ _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Winkel
Anmeldungsdatum: 17.07.2006 Beiträge: 25 Wohnort: Berlin
|
Verfasst am: 21.10.2006, 20:14 Titel: |
|
|
Hallo Mao und SpionAtom :
Danke für die schnelle Antwort.
Einverstanden, ich habe mich in der zweiten Frage zu ungenau ausgedrückt.
Den Trick den ich meinte, käme dann zur Anwendung, wenn nur ein Buchstabe als Variable möglich ist.
Ich meinte anstatt:
LET a = o
Let b = a ...(mathematische Berechnung),
folgendes:
LET CAPINI = o
Let CAPINTER = CAPINI ...(mathematische Berechnung)
Ginge das ???
Alfredo |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 21.10.2006, 20:27 Titel: |
|
|
@Winkel:
Wahrscheinlich sprichst Du das Thema analog zu
http://www.php.net/manual/de/language.variables.variable.php
aus PHP an, d.h. zur Laufzeit des Programmes quasi eine LET-Anweisung dynamisch generieren. Nun, so etwas geht in der Regel nur bei interpretieren Sprachen (z.B. Scriptsprachen wie Shellscript bei Linux) und auch dort nicht überall. In QB wäre noch am ehesten etwas auf CHAIN-Basis denkbar, also kleiner .BAS-Ausschnitt mit OPEN/PRINT#/CLOSE dynamisch schreiben, CHAINen + ausführen und am Schluss mit KILL wieder löschen. Früher unter GW-BASIC ging dies übrigens noch recht gut. Siehe dazu alter Usenet-Beitrag.
In der Regel aber zeugt so etwas nicht von einem allzu sauberen Programmierstil, ich bin mir daher sicher, dass sich Dein Problem wesentlich einfacher und besser mit einer Feldvariable lösen lässt. Beschreibe uns daher das Problemumfeld genauer. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Winkel
Anmeldungsdatum: 17.07.2006 Beiträge: 25 Wohnort: Berlin
|
Verfasst am: 22.10.2006, 01:46 Titel: |
|
|
Hallo dreael :
Schönen Dank für die Samstags-Überstunden !
Also ich habe wiederkehrende Ereignisse, welche eine Handlung nach sich ziehen.
Die Ereignisse sind CPER und CGAN, sie beginnen jeweils mit den Wert 0
und werden bei jeden Durchgang entweder die eine oder die andere Variable um 1 erhöht.
Es gibt eine weitere Veriable - welche eigentlich eine Konstante ist, denn sie ändert sich nicht, die da heisst FRQ
FGAN = (CPER/FRQ) - CGAN
AP = CAPNEG/FGAN
Print "Klartext" ; AP (AP ist die darauffolfende Handlung)
INPUT "Ergebnis" ; RES
IF RES= a then let CPER =CPER + 1
IF RES= b then let CGAN=CGAN +1
(Die Syntaxis ist noch NICHT überprüft, auch nicht die Anfangsbedingungen wenn alles 0 ist, auch nicht das Stoppverfahren, z.B.
If input STOP then gosub Ausstieg else wieder zum Anfang, (CPER und CGAN haben schon den neuen Wert))
Inzwischen habe ich mich mit den Gedanken anvertraut, mit einen Zettel auf dem TIsch zu Programmieren, also mit Variablen die aus nur einen Buchstaben bestehen. Hat vonQB her den vorteil, dass da automatisch die maximale Anzahl der Variablen festliegt - nämlich 28 (oder 29 ???)-.
Die Links die Du mitgeschickt hast sind mir -noch- eindeutig zu hoch.
Nochmals vielen Dank,
Nächste Frage(n) erst NACH Reingucken in monsterFAQ - VERSPROCHEN !
Alfredo |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|