Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Index auserhalb des Bereichs

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 26.09.2007, 16:02    Titel: Index auserhalb des Bereichs Antworten mit Zitat

Hi!
Ich hab dieses Thema erstellt, da der Titel mein alten Themas
nicht mehr das ausdrückt was es soll.
MEIN PROBLEM:
bei meinem Flusi- Code (siehe "Bildschirm drehen" oder http://forum.qbasic.at/viewtopic.php?t=4049)
"Index auserhalb des Bereichs" kommt. weinen mit dem Kopf durch die Mauer wollen böse
Bitte alle Antworten dort hin stellen. DANKE
Euer

Ferdi
______________________________________________
(c) Ferdinand F.:
FFS11
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 26.09.2007, 19:05    Titel: Antworten mit Zitat

Hi,

wenn du eingeloggt bist, kannst du per EDIT-Button auch das Thema deines alten Beitrags ändern.

zum Problem:
Index Ausserhalb des Bereichs bedeutet, daß du auf einen Index in einem Array zugreifen willst, welcher nicht existiert.

Beispiel:
DIM a(1 to 10) as integer

a(0)=1 <- erzeugt "Index ausserhalb des Arrays"
a(5)=1 <- geht
a(11)=1 <- erzeugt "Index ausserhalb des Arrays"

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 26.09.2007, 19:07    Titel: Antworten mit Zitat

haben wir schon x-mal erklärt... ich sag es nur noch einmal... du musst den quellcode in der nähe des fehlers absuchen, wenn du z.B. Feld(1 to 10) deklarierst, und dann auf die einzelnen Feld-Elemenent per Variable zu greifst (z.b. For i = 1 to 11: print feld(i): next i), kann dadruch leicht ein fehler entstehen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 26.09.2007, 20:26    Titel: Antworten mit Zitat

(Weshalb man, wenn möglich, LBound und UBound nutzen sollte.)
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 29.09.2007, 15:15    Titel: Antworten mit Zitat

OK.
Hab's kapiert
A propos (Ich hasse Franz. mit den Augen rollen )
ICH HABE DAS PROBLEM ENDLICH GELÖST!!!!!!!!!!!!!!!!!!!!!
Mein ERSTES Programm hat heute Offiziell die ALPHAPHASE erreicht!!
Yahooo!!!! Yahooo!!!! Yahooo!!!! Yahooo!!!! Yahooo!!!! Yahooo!!!! Yahooo!!!! Yahooo!!!!
vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen vor Freude klatschen
Ich bin total durchgeknallt ich weiß!
ICH Liebe euch! Spaß!!

So ausgetobt!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 07.10.2007, 16:40    Titel: Antworten mit Zitat

Guten Abend!

Da sich schon hier schon ein Thema zu Index außerhalb des Bereiches befindet, werde ich deshalb auch mal ein kleines Problem ansprechen.

Zu meiner Sache:

Ich möchte ein Programm schreiben das Zufallszahlen erstellt. (funktioniert bereits)

Jede Zahl steht für einen Namen der auf dem Bildschirm angezeigt wird.
(funktioniert bereits)

Dann wollte ich es so programmieren dass Zufallszahlen ohne Dubletten erstellt werden. Und dann kommt bei meinem Programm nachdem 5-25 Namen auf dem Bildschirm angezeigt werden, die Fehlermeldung Index außerhalb des Bereiches. Warum nur?

Code:
DIM SHARED SPIELER$(1 TO 32)

REM maxanzfrag = 32
REM DIM SHARED pickme(1 TO 32)
REM DIM SHARED benutzt(1 TO 32)

n = 32
DIM SHARED benutzt(32) AS INTEGER
DIM SHARED zahl(32) AS INTEGER

y = 2

SPIELER$(1) = "Anarki"
SPIELER$(2) = "Angel"
SPIELER$(3) = "Biker"
SPIELER$(4) = "Bitterman"
SPIELER$(5) = "Bones"
SPIELER$(6) = "Cadavre"
SPIELER$(7) = "Crash"
SPIELER$(8) = "Daemia"
SPIELER$(9) = "Doom"
SPIELER$(10) = "Gorre"
SPIELER$(11) = "Grunt"
SPIELER$(12) = "Hossman"
SPIELER$(13) = "Hunter"
SPIELER$(14) = "Keel"
SPIELER$(15) = "Klesk"
SPIELER$(16) = "Lucy"
SPIELER$(17) = "Major"
SPIELER$(18) = "Mynx"
SPIELER$(19) = "Orbb"
SPIELER$(20) = "Patriot"
SPIELER$(21) = "Phobos"
SPIELER$(22) = "Ranger"
SPIELER$(23) = "Razor"
SPIELER$(24) = "Sarge"
SPIELER$(25) = "Slash"
SPIELER$(26) = "Sorlag"
SPIELER$(27) = "Stripe"
SPIELER$(28) = "TankJr"
SPIELER$(29) = "Uriel"
SPIELER$(30) = "Visor"
SPIELER$(31) = "Wrack"
SPIELER$(32) = "Xaero"

SCREEN 12
WIDTH 80, 60
CLS

RANDOMIZE TIMER

FELT 0, 0, 639, 440, 0

DO
DO
zahl = FIX(RND * n)
LOOP WHILE benutzt(zahl) = 1
benutzt(zahl) = 1

CPRINT SPIELER$(zahl), y, 34, 15, 11, 3

y = y + 1
ende = ende + 1
IF ende > n THEN END
LOOP


Zitat:
CPRINT SPIELER$(zahl), y, 34, 15, 11, 3


CPRINT ist bei mir wie der Befehl PRINT, nur etwas komfortabler!
Ich hoffe ihr könnt mir helfen.

Mit freundlichen Grüßen
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
stuner



Anmeldungsdatum: 29.06.2006
Beiträge: 45

BeitragVerfasst am: 07.10.2007, 16:52    Titel: Antworten mit Zitat

Die Zeile

Code:
zahl = FIX(RND * n)


lässt auch 0 zu, was aber ausserhalb des Indexes liegt.

Ich würde sie durch

Code:
zahl = RND * (n-1) +1


ersetzen.

Ansonsten funktioniert das Programm (zumindest unter FB).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 07.10.2007, 17:00    Titel: Antworten mit Zitat

Guten Abend!

Für Freebasic ist es ja auch nicht gedacht.
Ich möchte sowas einfach in Qbasic haben.
Aber die Fehlermeldung kommt nicht wegen der 0?

Mit freundlichen Grüßen
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 07.10.2007, 17:06    Titel: Antworten mit Zitat

ALWIM hat Folgendes geschrieben:
Für Freebasic ist es ja auch nicht gedacht.

wie oft muss ich dir noch erklären, dass freebasic zu 99% kompatibel zu qbasic ist? peinlich
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 07.10.2007, 17:13    Titel: Antworten mit Zitat

Zitat:
Zitat von Jojo:
wie oft muss ich dir noch erklären, dass freebasic zu 99% kompatibel zu qbasic ist?


Wieso kann ich dann kein einziges Programm das in Quickbasic geschrieben ist (teilweise auch von mir), mit Freebasic öffnen?

Jetzt klappt mein Programm! grinsen
Es lag warscheinlich doch an dieser einen Zeile? verwundert

Freebasic gefällt mir irgendwie nicht, auch wenn Freebasic besser ist wie Quickbasic!

Mit freundlichen Grüßen
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 07.10.2007, 17:19    Titel: Antworten mit Zitat

das liegt am stil (hatten wir ja schonmal), da du keinerlei variablen deklarierst... das kann man auch in QB und gehört zum guten stil. wenn du in FreeBasic mit dem parameter -lang deprecated oder -lang qb compilierst, kannst du deine alten programme trotzdem ausführen... steht aber eigentlich auch alels auf freebasic-portal.de...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 07.10.2007, 17:38    Titel: Antworten mit Zitat

Vielleicht speicherst du die Dateien nicht im Text-Modus?
Und wie Jojo bereits gesagt hat, mit -lang qb kompilieren.
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 07.10.2007, 17:52    Titel: Antworten mit Zitat

Ferdi hat Folgendes geschrieben:


A propos (Ich hasse Franz. mit den Augen rollen )

So ausgetobt!


Aja und warum, wenn man mal fragen darf ?
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 07.10.2007, 21:42    Titel: Antworten mit Zitat

Ich glaube, das bezog sich eher auf diesen französischen Ausdruck! lachen zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 08.10.2007, 06:56    Titel: Antworten mit Zitat

Achso upps verlegen geschockt

Man kann ja nie wissen. lachen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 09.10.2007, 19:45    Titel: Antworten mit Zitat

Stimmt!
Sorry verlegen
#################
#Franz = FRANZÖSISCH#
################

Also nicht missverstehen grinsen

Ich mag Franz(ösisch) nicht, da ich da einfach nicht gut bin
(Freu mich schon auf die [Korrigierte] Arbeit am Do. weinen weinen )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 10.10.2007, 16:18    Titel: Antworten mit Zitat

Ferdi hat Folgendes geschrieben:
Stimmt!
Sorry verlegen
#################
#Franz = FRANZÖSISCH#
################

Also nicht missverstehen grinsen

Ich mag Franz(ösisch) nicht, da ich da einfach nicht gut bin
(Freu mich schon auf die [Korrigierte] Arbeit am Do. weinen weinen )


Geht mir genauso...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d1rty.h4rry



Anmeldungsdatum: 05.10.2006
Beiträge: 116
Wohnort: Cassel

BeitragVerfasst am: 16.10.2007, 23:23    Titel: Antworten mit Zitat

Lol @ALWIN: was hast du denn mit dem Programm vor wenn man fragen darf
mir fällt nämlich auf dass...


Code:
SPIELER$(16) = "Lucy"
SPIELER$(17) = "Major"
SPIELER$(18) = "Mynx"
SPIELER$(19) = "Orbb"
SPIELER$(20) = "Patriot"
SPIELER$(21) = "Phobos"
SPIELER$(22) = "Ranger"
SPIELER$(23) = "Razor"
SPIELER$(24) = "Sarge"
SPIELER$(25) = "Slash"
SPIELER$(26) = "Sorlag"
SPIELER$(27) = "Stripe"
SPIELER$(28) = "TankJr"
SPIELER$(29) = "Uriel"
SPIELER$(30) = "Visor"
SPIELER$(31) = "Wrack"
SPIELER$(32) = "Xaero"


sämmtliche namen den Bots aus Quake 3 cool entsprechen happy xD

das aber nur mal so nebenbei^^ durchgeknallt

gruss

D1RtY happy H4RrY
_________________
"Das Fernsehen ist so etwas wie eine geistige Neutronenbombe, das Gehirn wird weggestrahlt. Nur der Kopf bleibt da!" -Olliver Kalkhofe
-> http://fernsehkritik.tv/tv-magazin/
"Wenn alle Stricke reißen, dann häng ich mich auf", Karl Kreiss lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Ferdi



Anmeldungsdatum: 10.03.2007
Beiträge: 284
Wohnort: Berlin

BeitragVerfasst am: 20.10.2007, 16:44    Titel: Antworten mit Zitat

Juhu!!
Hab in Franz(ösisch) ne 3 geschrieben!! grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz