Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Compileer/Syntaxisfout in BASIK  (gelezen 6467 keer)

0 leden en 1 gast bekijken dit topic.

Offline CNFR

  • Lid
  • *
  • Berichten: 14
  • Oplossing.be
Compileer/Syntaxisfout in BASIK
« Gepost op: 22 juni 2005, 13:45:13 »
Hallo iedereen,

Telkens als ik het hiernavolgende programmaatje wil laten lopen krijg ik de foutmelding "" Compileerfout: Syntaxisfout.

Sub TabelMaken()

cls: x=1: aantal$ ="even": input "Aantal teams"; aantal: cls
If aantal / 2 <> Int(aantal / 2) Then aantal$ = "oneven": aantal = aantal + 1
Print "team";: For z = 1 To aantal - 1: Print using; "###e"; z;: Next z:
Print: Print " ";: For z = 1 To aantal - 1: Print "rnd ";: Next z: Print
Print "----";: For z = 1 To aantal - 1: Print " ---";: Next z: Print:
For z = 1 To aantal - 1: Print using; "## "; z;
    For y = 1 To aantal - 1: x = x + 1
        If x = aantal Then x = 1
        If x = z And aantal$ = "even" Then x = aantal
        If x = z And aantal$ = "oneven" Then x = 0
        Print using; "####"; x;: If x = aantal Or x = 0 Then x = z
    Next y: x = x - 1: Print
Next z
If aantal$ = "even" Then
    Print using; "## "; aantal,
    For y = 1 To aantal / 2 - 1:
        Print using; "#### ##"; aantal / 2 + y; y + 1;:
    Next y: Print using; "####"; 1
End If

Ik zelf kan mijn fout met de beste wil niet vinden, wie kan er mij helpen a.u.b.?

Groetjes  8)

CNFR
SYSTEEM: Win ME

Emphyrio

  • Gast
Re:Compileer/Syntaxisfout in BASIK
« Reactie #1 Gepost op: 22 juni 2005, 16:05:01 »
Hoi CNFR,

Ik heb je progje nagecheckt en het enige dat mss die fout zou kunnen geven is :

Sub TabelMaken()

cls: x=1: aantal$ ="even": input "Aantal teams"; aantal: cls
If aantal / 2 <> Int(aantal / 2) Then aantal$ = "oneven": aantal = aantal + 1
Print "team";: For z = 1 To aantal - 1: Print using; "###e"; z;: Next z:
Print: Print " ";: For z = 1 To aantal - 1: Print "rnd ";: Next z: Print
Print "----";: For z = 1 To aantal - 1: Print " ---";: Next z: Print:
For z = 1 To aantal - 1: Print using; "## "; z;
    For y = 1 To aantal - 1: x = x + 1
        If x = aantal Then x = 1
        If x = z And aantal$ = "even" Then x = aantal
        If x = z And aantal$ = "oneven" Then x = 0
        Print using; "####"; x;: If x = aantal Or x = 0 Then x = z
    Next y: x = x - 1: Print
Next z
If aantal$ = "even" Then
    Print using; "## "; aantal,
    For y = 1 To aantal / 2 - 1:
        Print using; "#### ##"; aantal / 2 + y; y + 1;:
    Next y: Print using; "####"; 1
End If
End If  

De tweede End If vergeten...

Voor de duidelijkheid zou ik in mijn FOR..NEXT teller ook gebruik maken van haakjes.
vb:  For y = 1 To (aantal / 2 )- 1 ;)

Emphyrio  :)
 


Offline CNFR

  • Lid
  • *
  • Berichten: 14
  • Oplossing.be
Re:Compileer/Syntaxisfout in BASIK
« Reactie #2 Gepost op: 22 juni 2005, 23:22:35 »
Hoi Emphyrio

Alvast bedankt voor uw reactie, ik heb alles aangepast zoals u hebt aangegeven.

Maar nog steeds krijg ik dezelfde foutmelding.
De eerste lijn word bij de foutmelding rood gekleurd (cls: x=1 enz.

CNFR
SYSTEEM: Win ME

guido1

  • Gast
Re:Compileer/Syntaxisfout in BASIK
« Reactie #3 Gepost op: 22 juni 2005, 23:53:14 »
Hoi CNFR,

Welke Basic gebruik je? Er zijn zoveel verschillende en elke Basic is toch weer een beetje anders.

Mag ik je ook enkele tips geven?
Citaat
aantal$ ="even": input "Aantal teams"; aantal:
Op deze manier maak je het je zelf wel een beetje moeilijk: Je gebruikt twee maal de variabele aantal, de eerste keer voor een string en de tweede keer woor een numerieke waarde. Ik weet niet of uw versie van Basic daar mee over de baan kan. Ik zelf zou het er moeilijk mee hebben, je computer mischien ook wel.

Citaat
cls: x=1: aantal$ ="even": input "Aantal teams"; aantal: cls
Ieder statement wordt afgesloten door een dubbele punt of begint op een andere lijn. Als je nu begint met elk statement op een nieuwe lijn te zetten, dat is gemakkelijker bij het debuggen want, als ik het goed heb gaat je compiler de fouten aalduiden in het rood. Dus deze eerste lijn kan je ook schrijven als volgt:
cls
x=1
aantal$ ="even"
input "Aantal teams"; aantal
cls

Als je nu compileert zal je gemakkelijker zien waar de fout zit.

De End If die Emphyrio er laat bij zetten moet terug weg.
Als je programma zonder fouten is kan je nog altijd meerdere statements per lijn samenvoegen.

Guido

Emphyrio

  • Gast
Re:Compileer/Syntaxisfout in BASIK
« Reactie #4 Gepost op: 23 juni 2005, 03:11:28 »
De End If die Emphyrio er laat bij zetten moet terug weg.
Guido

@guido: Je hebt gelijk, maar ik wou toch nog even deze bedenking neerzetten  ;)

Ofwel is zijn BASIC syntax :IF()THEN..ELSE ..ENDIF in dat geval moeten er 5 ENDIF's staan

Ofwel is ENDIF optioneel, in dat geval staat er één te veel en vermoed ik dat het laatste statement End Sub (ipv End If) moet zijn (hetgeen me doet vermoeden dat het VB is).

Voor de rest kan het zijn dat de INPUT op een andere regel moet staan en niet op dezelfde lijn (sommige compilers doen daar moeilijk over).

Emphyrio  :)

Offline CNFR

  • Lid
  • *
  • Berichten: 14
  • Oplossing.be
Re:Compileer/Syntaxisfout in BASIK
« Reactie #5 Gepost op: 23 juni 2005, 23:20:23 »
Guido 1 & Emphyrio

Ik heb de eerste lijn geschreven zoals Guido 1 heeft aangegeven, maar nu zet hij de vierde lijn: input"Aantal teams",aantal   in het rood met de foutmelding " Sub of function is niet gedefineerd" ????
SYSTEEM: Win ME

guido1

  • Gast
Re:Compileer/Syntaxisfout in BASIK
« Reactie #6 Gepost op: 23 juni 2005, 23:43:44 »
Welke Basic gebruik je? Er zijn zoveel verschillende en elke Basic is toch weer een beetje anders.

Een eerste vereiste op forums is ook vragen beantwoorden.

En vul je profiel eens deftig in. Met GV_Profile gaat dat heel gemakkelijk.

Guido

Offline CNFR

  • Lid
  • *
  • Berichten: 14
  • Oplossing.be
Re:Compileer/Syntaxisfout in BASIK
« Reactie #7 Gepost op: 25 juni 2005, 00:45:59 »
Sory mijne heren,maar ik kan onmogelijk een vraag beantwoorden als ik het zelf niet weet. Ik heb namelijk dit progje van het internet geplukt " www.zwijntje.nl ". Het is een progje die een wedstrijdschema uittekend voor een petanque kompetitie.

CNFR
SYSTEEM: Win ME

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re:Compileer/Syntaxisfout in BASIK
« Reactie #8 Gepost op: 25 juni 2005, 14:43:14 »
Kan je een rechtstreekse link legen naar het programma. Met welke versie vanExcel ben je aan het werken.
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline CNFR

  • Lid
  • *
  • Berichten: 14
  • Oplossing.be
Re:Compileer/Syntaxisfout in BASIK
« Reactie #9 Gepost op: 25 juni 2005, 15:10:45 »
Beste Cladon

Ik werk met de versie Excel XP

CNFR
SYSTEEM: Win ME

Offline cladon

  • Volledig lid
  • **
  • Berichten: 246
  • Geslacht: Man
Re:Compileer/Syntaxisfout in BASIK
« Reactie #10 Gepost op: 29 juni 2005, 07:12:44 »
Het is code voor een echte Basic (een van de eerste gewone programmeer talen). Je zou kunnen zeggen dat Basic een van de voorgangers is van de huidige Visual Basic.  

Naar gebruik van code is er wel een vershil in het gebruik van de syntax tussen Basic en VB. Je kan de uitvoering welliswaar lezen en begrijpen. Het wil echter niet zegen dat je het ook zomar gewoon kan overzetten naar VBA.

Je hebt nu twee mogelijkheden ofwel ga je opzoek naar een basic compiler (https://www.thefreecountry.com/compilers/basic.shtml) ofwel (laat je) pas je het aan aan VBA. Nu in het laatste geval is het gemakkelijker dat je eerst even een gedetaileerde beschrijving geeft van wat er eigenlijk moet gebeuren (wat wil je eigenlijk hebben dat het programma doet).

Heel belangrijk is dan dat je afstand neemt van de code hierboven en dat we gewoon vanaf nul beginnen.
Windows 10 Home   NLD 64bit,
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3401
P8B75-M LE
Intel(R) HD Graphics 4000 3072MB 1920 x 1080
VIA HD Audio
C:\ NTFS 237,25GB 135,35GB 15 293MB
AV: Kaspersky
FW: Windows 10

Offline CNFR

  • Lid
  • *
  • Berichten: 14
  • Oplossing.be
Re:Compileer/Syntaxisfout in BASIK
« Reactie #11 Gepost op: 29 juni 2005, 13:07:57 »
Hallo cladon,

Alvast bedankt voor uw hulp. De bedoeling van dit programma is het uittekenen van een wedstrijdschema voor een vooraf in te geven aantal spelers. Een voorbeeld van zo een lay-out is terug te vinden op www.zwijntje.nl onder Algemene informatie dan Wedstrijdsystemen en daarna ronde indelingen.

groetjes,

CNFR
SYSTEEM: Win ME

 


www.combell.com