Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 23.05.2006, 20:55 Titel: variable laenge von arrays |
|
|
ist es moeglich einen array so zu gestalten, das seine laenge variabel ist:
Beispiel:
das programm fordert mich auf zahlen einzugeben, die in einem array gespeichert werden. Die laenge des arrays bzw. di anzal an zahlen die eingegeben werden sollen ist aber nicht definiert, sondern sie passt sich der anzahl der zahlen an die der benutzer eingibt.
So funktionierts leider nicht
Code: |
cls
i=0
do
a$=""
i=i+1
dim zahlen (1 to i) as string
a$=inkey$
zahlen(i)=a$
loop until a$=chr$(27)
|
Wie kann man sowas realisieren? |
|
Nach oben |
|
 |
otti

Anmeldungsdatum: 28.02.2005 Beiträge: 112 Wohnort: Wildberg
|
Verfasst am: 23.05.2006, 21:10 Titel: |
|
|
$dynamic ?
grüße otti
edit:
QBMONFAQ link
edit:
link korrigiert _________________ Gute Musik

Zuletzt bearbeitet von otti am 23.05.2006, 21:21, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 23.05.2006, 21:18 Titel: |
|
|
$dynamic
was ist das ?
wie geht das ? |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 23.05.2006, 22:55 Titel: |
|
|
siehe link in seinem beitrag oO
Ansosten, verkettete Listen und Freebasic is toll  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 24.05.2006, 22:09 Titel: |
|
|
1.
Koennte mir mal jemand ein klitzekleines Beispielprograemmchen (code) hinschreiben - den eintrag im FAQ verstehe ich armes Menschenkind leider nicht.
2. Was ist denn mit FreeBasic - Geht sowas da einfacher ? |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 24.05.2006, 22:13 Titel: |
|
|
einfacher nicht unbedingt, besser auf jeden fall..
beispielcode, du kannst einfach mit REDIM ein array erstellen und genauso die größe auch verändern, mit REDIM PRESERVE (glaub ich) bleiben die daten darin bestehen.. also einfach
REDIM array(10) as integer
...
REDIM PRESERVE array(15)
...
oder so in der richtung _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 24.05.2006, 22:17 Titel: |
|
|
nur leider gibt es den befehl
REDIM PRESERVE array(15)
nicht (oder ist der nur fuer FreeBasic?) |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 24.05.2006, 22:32 Titel: |
|
|
du brauchst PDS bzw QB7.1, unter QB4.5 gibts das afaik noch nicht.. QB7.1 gibts halt nur auf englisch.. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 25.05.2006, 09:44 Titel: |
|
|
Was Du suchst, ist eine sog. Liste, bei der ein jederzeitiges "append" und "insert" möglich ist. So etwas besitzt QB leider nicht, nicht einmal im Ansatz. Falls FreeBasic jedoch Pointer und dynamische Speicherallozierung (malloc()-Funktionalität) kennt, wäre wenigstens dort eine verkettete Liste wie in C/C++ üblich als dynamisch verwaltete Datenstruktur möglich.
Die einzige Variante in QB ist daher ein 2-Pass-Verfahren, sofern überhaupt möglich: 1.Leselauf, um die Grösse zu bestimmen, dann Felder DIMensionieren und im 2. Leselauf die Felder mit Daten füllen. Anwendung davon von mir: Musik (dort werden alle DATAs auch erst einmal hinsichtlich Umfang kurz durchgelesen, bevor geDIMt wird). Sonst musst Du halt Deine Speicherverwaltung wie ein ganz uralter Commodore Amiga-Beckertext lösen, wo man auch seinerzeit die maximale Anzahl Seiten vom Dokument schon im Voraus eingeben musste. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 25.05.2006, 12:11 Titel: |
|
|
ist qbasic 7.1 ein compiler oder nur ein interpreter ?
Die selbe Frage gilt auch fuer qbasic pds |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 25.05.2006, 12:19 Titel: |
|
|
sehr schoen,
ich habs mir runtergeladen und :
es klappt
danke alle zusammen
besonderen dank an mr d fuer den code |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 25.05.2006, 12:45 Titel: |
|
|
kein problem PDS is übrigens nur n anderer name für QB7.1  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
alfonsospringer
Anmeldungsdatum: 27.04.2006 Beiträge: 445
|
Verfasst am: 25.05.2006, 13:09 Titel: |
|
|
hab ich auch grad festgestellt
vielen dank nochmal |
|
Nach oben |
|
 |
|