Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Next without for

Postades av 2009-03-19 14:08:18 - Per Öberg, i forum visual basic - allmänt, Tråden har 10 Kommentarer och lästs av 1191 personer

Hej
En knepig fråga.

Jag håller på med ett program.
I en subrutin (privat sub) där det finns ett antal gosub osv:

När jag kör programmet så stannar den i denna subrutin med felmeddelande "Next without for", men jag HAR både For och next.

Private Sub x()
For N = 1 To 100
If A = B Then GoSub Rutin1
If Cfakt = 8 Then GoSub Rutin2
For N1 = 1 To n2
If PaSt(N) = CompSt(N1) And PaCo(N) = CompCo(N1) Then
If PaSi(N) = CompSi(N1) Then
BollE = True
End If
Next N1
Next N

End Sub

Vad är fel?
Per


Svara

Sv: Next without for

Postades av 2009-03-19 14:22:59 - Niklas Jansson

Du saknar en end if

For N = 1 To 100
If A = B Then GoSub Rutin1
If Cfakt = 8 Then GoSub Rutin2
For N1 = 1 To n2
If PaSt(N) = CompSt(N1) And PaCo(N) = CompCo(N1) Then
If PaSi(N) = CompSi(N1) Then
BollE = True
End If
Next N1
<b>End If</b>
Next N

Sen är det ju iofs nästan förkastligt att använda gosub och de tämligen dåliga variabelnamnen du har, men skit samma.


Svara

Sv:Next without for

Postades av 2009-03-19 15:53:06 - Thomas Roman

Niklas har rätt, men tror att han har lagt in End If på fel ställe.

Testa:
Private Sub x()
For N = 1 To 100
If A = B Then GoSub Rutin1
If Cfakt = 8 Then GoSub Rutin2
For N1 = 1 To n2
If PaSt(N) = CompSt(N1) And PaCo(N) = CompCo(N1) Then
If PaSi(N) = CompSi(N1) Then
BollE = True
End If
<b>End If</b>
Next N1
Next N

End Sub


/Thomas


Svara

Sv: Next without for

Postades av 2009-03-19 16:30:40 - Niklas Jansson

Helt rätt, Roman. Den ohyggliga indenteringen förvirrade mig ;-)


Svara

Sv:Next without for

Postades av 2009-03-19 19:32:08 - Sven Åke Persson

mmm... den stöten har man gått på några gånger.

End If och Next man får svar på Next.

Där är språken Delphi C# mfl mer raka "Begin / End"

Det blir en djä... cirkus om du inte kan indenteringen !
Och snälla ! sluta med GoSub.

mvh
Sven


Svara

Sv: Next without for

Postades av 2009-03-19 19:53:27 - Thomas Roman

För mig som inte fular mig med GoSub, vad gör den egentligen? Blir det som en separat Sub fast med labels istället? Finns det då något som är fördel med GoSub mot en riktig Sub?


/Thomas


Svara

Sv:Next without for

Postades av 2009-03-20 00:18:09 - Sven Åke Persson

GoSub körde vi ju med i Basicbörjan 1970 > Varje rad var en adress.

Man hoppade 100 rader ner,körde den slingan,fick ett nytt GoSub gick upp till rad 42
körde den osv. Det blev en djä.... soppa.

Kallades "Makaroni - programmering"


Svara

Sv: Next without for

Postades av 2009-03-20 01:31:39 - Thomas Roman

Ok, som jag trodde då. Kanske har använt det nån gång på QBasic-tiden.

Varför finns det ens kvar i VB? Bakåtkompabilitet av nått slag?


/Thomas


Svara

Sv:Next without for

Postades av 2009-03-20 01:39:32 - Sven Åke Persson

mmm... njaaa finns kvar.

Någon gång kan det vara effektivt. Bara man vet vad man gör.

Själv är jag såld på rekursivt anrop.

Vad är jag såld på ?


Svara

Sv: Next without for

Postades av 2009-03-20 05:27:25 - Per Öberg

1.Min fråga: Min subrutin är ganska stor, så jag extraherade några rader. Men saknad End If var boven i dramat.

2. GOSUB: En annan som programmerat lite då och dp i Basic sedan långt före det fanns ett företag som hette Microsoft tycker GOSUB är bra. Påminner om Call men ligger i samma subrutin. När man kan det så ger det ett antal fördelar.
T.ex. Om jag skriver:
Gosub Arutin.
Så kan jag i denna rutin om ett visst värde uppstår eller jag får ett errormeddelande eller ... skapa en exit ur subrutinen. Om jag istället hade skrivit Call Brutin så om jag får en exit ur B-rutin så kommer jag tillbaka till min urpsrungliga rutin vilket gör att jag måste lägga till en variabel och skapa x antal rader för att hantera ett "meddelande" från Brutin, vilket jag alltså slipper med GOSUB.

Gamla Basic hade några andra saker jag också gillade, som inte finns kvar. Ett exempel. GET - när GET -raden aktiverats så räckte det med EN tangetnedtryckning för att programmet skulle reagera. T.ex. skrev jag ofta en sorts MessageBox som t.ex. frågade vilket alternativ man ville ha:
A-Alt 1
B-Alt 2
C-Alt 3
osv
Och det ränkte att användaren nuddade vid t.ex. B-tangenten för att valet skulle vara gjort. Inga musrörelser och inga Enter... Mycket snabbt.

Ha en bra dag
Per


Svara

Sv:Next without for

Postades av 2009-03-20 09:35:40 - Niklas Jansson

Jag har använt gosub och vet vad det gör. Det är värdelös skit.

Program blir betydligt renare och enklare att förstå utan det. Ett exempel på vad som blir så otroligt mycket sämre med det är just att funktioner blir stora.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
274
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies