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:

Unverträgliche Anzahl von Argumenten

 
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
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 16.04.2008, 15:54    Titel: Unverträgliche Anzahl von Argumenten Antworten mit Zitat

Code:
DECLARE SUB file(filename$, num, x, y, click, edit)
DIM filename(100) AS STRING

CALL file(filename(i))

SUB file(filename$)
END SUB


Wo ist da der Fehler?
_________________
RUN "brain.exe"
Datei nicht gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 16.04.2008, 16:06    Titel: Antworten mit Zitat

*Keks pack*
*keks aus dem fenster schmeiß*

die oberste declare zeile passt nicht

die muss declare sub file(filename$) heißen

schaut mir nach
1) sub mit 6 parametern schreiben
2) was anderes machen
3) die sub auf 1 param umproggen
4) nicht mit enter abschließen

dann kommt qb durcheinander

im zweifelsfalle alle declares löschen, die legt qb schon wieder an (und zwar richtig!)
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 16.04.2008, 16:07    Titel: Antworten mit Zitat

Ganz einfach: Du deklarierst eine Sub, die 6 Parameter erwartet, willst dann in der Definition aber nur einen Parameter angeben. Die Zahl und Reihenfolge der Parameter muß bei Deklaration und Definition gleich sein.

Es sei denn, Du willst zwei verschiedene Funktionen mit dem gleichen Namen erstellen. Das funktioniert nur in FreeBasic mit Overload.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 16.04.2008, 16:25    Titel: Antworten mit Zitat

Ups nein habe das ganze gekürzt, damit es besser lesbar ist.

Ja und ich habe wohl nachdem ich was hinzugefügt hatte vergessen, es auch beim Aufruf zu ändern.

Jetzt kommt aber bei
CALL file(filename(i), num, AusReg.CX, AusReg.DX, AusReg.BX, 0) ein
unveträgliche Parametertypen, markiert ist .BX, 0

Warum das jetzt?
_________________
RUN "brain.exe"
Datei nicht gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

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

Hachja, immer das lustige Rätselraten... Poste den ganzen Sourcecode, der die Sub File betritt...
_________________
» 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
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 16.04.2008, 16:51    Titel: Antworten mit Zitat

Keks hat Folgendes geschrieben:
Ups nein habe das ganze gekürzt, damit es besser lesbar ist.

Ja und ich habe wohl nachdem ich was hinzugefügt hatte vergessen, es auch beim Aufruf zu ändern.

Jetzt kommt aber bei
CALL file(filename(i), num, AusReg.CX, AusReg.DX, AusReg.BX, 0) ein
unveträgliche Parametertypen, markiert ist .BX, 0

Warum das jetzt?


Klassischer Fall von mangelhafter Fragestellung... mit den Augen rollen
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 16.04.2008, 18:57    Titel: Antworten mit Zitat

Achje, ständig muss man in jedem Forum die ganze "Laufbahn" durchmachen^^

Ok hier der ganze:

Code:
DECLARE SUB file(filename$, num, x, y, click, edit)
DECLARE SUB editfile(filename$)
DIM filename(100) AS STRING

cls
SHELL "DIR > c:\dir.txt"
OPEN "I", #1, "c:\dir.txt"
  for i = 1 to 7
    input #1, text$
  next i
  do
    input #1, line$
    if mid$(line$, 10, 3)="SC " THEN
      num=num+1
      filename(num)=mid$(line$, 1, 8)
    end if
  loop until eof(1) or num = 20
close #1

TYPE RegTyp
  AX AS INTEGER
  BX AS INTEGER
  CX AS INTEGER
  DX AS INTEGER
  BP AS INTEGER
  SI AS INTEGER
  DI AS INTEGER
  FLAGS AS INTEGER
  DS AS INTEGER
  es AS INTEGER
END TYPE
DIM Einreg AS RegTyp
DIM AusReg AS RegTyp
Einreg.AX = 1
CALL INTERRUPT(&H33, Einreg, AusReg)
Einreg.AX = 3

do
  CALL INTERRUPT(&H33, Einreg, AusReg)
  for i = 1 to num
    CALL file(filename(i), num, AusReg.CX, AusReg.DX, AusReg.BX, 0)
  next i
  if AusReg.BX then
    do
      CALL INTERRUPT(&H33, Einreg, AusReg)
    loop until AusReg.BX=0
    CALL file(filename(i), num, AusReg.CX, AusReg.DX, AusReg.BX, 1)
  end if
loop


SUB file(filename$, num, x, y, click, edit)
  col=40
  bg=0
  norm=15
  over=12
  cc=7
  if x => col and x <= col+len(filename$) and y <= num*8-8 and y => num*8-1 then
    go=1
    if click then color cc, b else color over, bg
  else
    color norm, bg
  end if
  locate num, col: print filename$
  if go and edit then
    CALL editfile(filename$)
  end if
END SUB

SUB editfile(filename$)
  'hier passiert noch nix^^
END SUB

_________________
RUN "brain.exe"
Datei nicht gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 16.04.2008, 19:28    Titel: Antworten mit Zitat

Also ich bekomme hier nur "Unverträgliche Parametertypen", weil du Integer-parameter an eine Funktion übergibst, die Single erwartet. Abhilfe:
Code:
SUb ...... x as integer, y as integer, click as integer...


und bevor du damit kommst, dass die fehelrmeldugn noch da ist: im DECLARE-Statement muss das auch angepasst werden...
_________________
» 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
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