Avatar billede krydset Nybegynder
06. januar 2003 - 21:57 Der er 26 kommentarer og
1 løsning

fejl i kode

kan i se nogle fejl i dennw kode den virker ikke hos mig

Private sub mFilåben_click()

’Ser om dokumentet er tomt
if richtextbox.text  = ”” then
’Hvis dokumentet er tomt sker der ingeting.
exit sub

else

’Ellers Spørger programmet om brugeren vil gemme dokumentet
’Gemmer resultatet af spøgsmålet som msg
Dim Msg As VbMsgBoxResult, cnt As Long       
‘sætter et spørgsmålstegn og en ok knap .



Msg = msgbox ”Vil du gemmer dokumentet?”,  _
vbQuestion + vbYesNo, App.Title)



‘Hvis ja gå til gemfilen
If Msg = vbYes Then mFilgem_Click
End if
End sub



’Sætter fil filteret for ”åben” Dialog Boxen
commondialog.filter  =  ”Alle understøttede , _ formater|*.txt;*.rtf;*.INI;*.htm|Almindelige Tekst Filer (txt|*.txt|, _
Rich Text Format (rtf)|*.rtf|Ini Filer|*.ini|Htm/Html filer|*.htm”



’Sætter Titlen på dialogen
commondialog.dialogtitle = ”Åben fil”



’Åbner ”åben dokument” dialog boxen
commondialog.showopen



’Ser om brugeren har åbnet et dokument
if commondialog.filename = ”” then
’Hvis brugeren ikke har valgt noget dokument



else



’Ellers åbner programmet dokumentet.
Richtextbox1.loadfile commondialog.filename
End if



End sub
Avatar billede krydset Nybegynder
06. januar 2003 - 21:57 #1
dem her skriver jeg ikke de kommer når jeg copy/paster
Avatar billede krydset Nybegynder
06. januar 2003 - 21:58 #2
8221;&#8221
Avatar billede krydset Nybegynder
06. januar 2003 - 21:59 #3
jeg får en fejl der hedder:

block IF without End If
Avatar billede Spotgun Seniormester
06. januar 2003 - 22:03 #4
Så vidt jeg kan se, så har du noget kludder i dine subs og if's.
Du mangler så vidt jeg kan se en "End If" i din første if-sætning, og du mangler en start på din sidste sub, hvis altså der skal være 2 subs. Hvis der kun skal være 1 sub, så har du en "End sub" for meget.
Avatar billede beils Nybegynder
06. januar 2003 - 22:04 #5
Det hedder også block "IF" og End "If"

//Beils
Avatar billede krydset Nybegynder
06. januar 2003 - 22:06 #6
det er taget fra dette tutorial
er det mig der har lavet en fejl 40 eller er det skrevet som jeg har skrevet det :-)
Avatar billede krydset Nybegynder
06. januar 2003 - 22:24 #7
>>beils

hvor skal block if så stå henne
Avatar billede martin_moth Mester
06. januar 2003 - 22:27 #8
Kan du ikke starte med at gøre koden pæn - den er ret svær at overskue når det hele står hulter til bulter - indryk tingene under hinanden (så det ligner fx.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vastmifx.asp
- på den måde kan du lynhurtigt se om der er en fejl et sted...

PS: I linket er vist hvordan du opbygger if-sætninger
Avatar billede Spotgun Seniormester
06. januar 2003 - 22:27 #9
Er det meningen du vil ha' en eller 2 subs?
Avatar billede martin_moth Mester
06. januar 2003 - 22:28 #10
Og slet alle de irriterende 8221;&#8221 - jo mindre rodet kode, jo bedre forståelse...
Avatar billede krydset Nybegynder
06. januar 2003 - 22:37 #11
jeg kan ikke fjerne disse irreterende 8221;&#8221
da de kommer når jeg copy/past´er

men jeg har rykket det lidt sammen

Private Sub mfilåben_Click()
'ser om dokumentet er tom
If RichTextBox.Text = "" Then
'hvis dokumentet er tomt sker der ingen ting
    Exit Sub
    Else
'ellers spørger programmet om man vil gemme dokumentet
'gemmer resultat af spm som msg
Dim msg As VbMsgBoxResult, cnt As Long
'sætter et ?tegn og en ok knap
msg = MsgBox("vil du gemme dokumentet?", vbQuestion + vbYesNo, App.Title)
'hvis ja så gå til gemfilen
If msg = vbYes Then mfilgem_Click
    End If
CommonDialog.Filter = "alle understøttede formater|, *.txt;*.rtf;*.ini;*.htm|almendelige tekst filer (txt)|*.txt|, rich text format (rtf)|*.rtf|ini filer|*.ini|htm/html filer|*.htm"
'sætter titlen på dialogen
CommonDialog.DialogTitle = "åben fil"
'åbner "åben dokument" dialogboksen
commmondialog.ShowOpen
'ser om brugeren har åbnet et dokument
If CommonDialog.FileName = "" Then
'hvis brugern ikke har valgt nogen dokument
      Else
'ellers åbner programmet dokumentet
RichTextBox.LoadFile CommonDialog.FileName
      End If
End Sub

ved ikke om det var bedre :-)
Avatar billede martin_moth Mester
06. januar 2003 - 22:38 #12
Jeg har renset din kode for kommentarer og sat det pænt op, og nu ser den sådan her ud:

Private Sub mFilåben_click()
  If richtextbox.Text = "" Then
    Exit Sub
  Else
    Dim Msg As VbMsgBoxResult, cnt As Long
    Msg = MsgBox("Vil du gemmer dokumentet?", _
    vbQuestion + vbYesNo, App.Title)
    If Msg = vbYes Then mFilgem_Click
  End If
End Sub

  commondialog.filter  =  ”Alle understøttede , _
  formater|*.txt;*.rtf;*.INI;*.htm|Almindelige Tekst Filer (txt|*.txt|, _
  Rich Text Format (rtf)|*.rtf|Ini Filer|*.ini|Htm/Html filer|*.htm”

  CommonDialog.dialogtitle = "Åben fil"
  CommonDialog.showopen
  If CommonDialog.FileName = "" Then

  Else
    Richtextbox1.loadfile CommonDialog.FileName
  End If
End Sub

1)Der mangler et "Sub-hoved" på efter det første "End Sub"
2)Og din linie med commondialog.filter ser ret så forkert ud
3)If CommonDialog.FileName = "" Then - ja, hvad så? Der mangler vist en linie:o)
Avatar billede krydset Nybegynder
06. januar 2003 - 22:40 #13
der jeg tar den fra ser den sådan herud


Private sub mFilåben_click()

’Ser om dokumentet er tomt
if richtextbox.text  = ”” then
’Hvis dokumentet er tomt sker der ingeting.
exit sub

else

’Ellers Spørger programmet om brugeren vil gemme dokumentet
’Gemmer resultatet af spøgsmålet som msg
Dim Msg As VbMsgBoxResult, cnt As Long       
‘sætter et spørgsmålstegn og en ok knap .



Msg = msgbox ”Vil du gemmer dokumentet?”,  _
vbQuestion + vbYesNo, App.Title)



‘Hvis ja gå til gemfilen
If Msg = vbYes Then mFilgem_Click
End if
End sub



’Sætter fil filteret for ”åben” Dialog Boxen
commondialog.filter  =  ”Alle understøttede , _ formater|*.txt;*.rtf;*.INI;*.htm|Almindelige Tekst Filer (txt|*.txt|, _
Rich Text Format (rtf)|*.rtf|Ini Filer|*.ini|Htm/Html filer|*.htm”



’Sætter Titlen på dialogen
commondialog.dialogtitle = ”Åben fil”



’Åbner ”åben dokument” dialog boxen
commondialog.showopen



’Ser om brugeren har åbnet et dokument
if commondialog.filename = ”” then
’Hvis brugeren ikke har valgt noget dokument



else



’Ellers åbner programmet dokumentet.
Richtextbox1.loadfile commondialog.filename
End if



End sub
Avatar billede martin_moth Mester
06. januar 2003 - 22:47 #14
Et godt tip, du vist kan drage stor nytte af.
FOrestil dig, du har 300 linier der ser ud som det du har vist i dit indlæg 22:37:49 - det er MEGET uoverskueligt. Prøv at sammenlign med min nedenunder dit indlæg - den er meget nemmere at læse. Derfor:

De "If", "Else" og "End If" der hører sammen står med samme indrykning. Alt imellem disse får en ekstra indrykning osv. Kommentarer kun hvor de er nødvendige. Og nu vi er i gang - variabelnavne med sigende navne, f.eks. strFornavn for en string der indeholder et fornavn. Bare et par råd, jeg tror du vil blive glad for :o)

Held og lykke med den videre programmering...
Avatar billede martin_moth Mester
06. januar 2003 - 22:47 #15
Nu ser jeg du har postet igen kl. 22:40:01

Du VIL have så grim og uoverskuelig kode som mulig?
Avatar billede krydset Nybegynder
06. januar 2003 - 22:50 #16
for helvede jeg er en newbe, de skal jo lære det på en eller anden måde, og jeg er først gået igang for 2 dage siden, så giv mig lige en chance
:-/)
Avatar billede martin_moth Mester
06. januar 2003 - 22:55 #17
Det er netop derfor jeg er så flink og kommer med mit råd 22:47:00. Følg det! Jeg har udpeget 3 fejl for dig i 22:38:23
Avatar billede krydset Nybegynder
06. januar 2003 - 22:58 #18
ja et subhoved mangler der, kan definere det lidt bedre jeg aner ikke hvad et subhoved er, det skal lige siges det er en kode jeg skriver fra et toturial på nette jeg har ingen bøger over V.B (gid jeg havde) så havde der nok ikke været fejl i
Avatar billede krydset Nybegynder
06. januar 2003 - 22:58 #19
og den linie du siger der mangler den mangfler også på nettet
Avatar billede martin_moth Mester
06. januar 2003 - 23:06 #20
Øhhh - what??

En procedure skal have et hoved og en End Sub (tilsvarende for funktioner). Alt der ligger derimellem er procedurens indhold. Et procedurehoved, der ikke modtager parametre, erklæres som Private Sub Procedurenavn() - hvis den altså er private. Ellers Public Sub Procedurenavn()

Mon ikke du så skulle starte med at finde ud at det helt grundlæggende, hvad en procedure er, hvad en funktion er, hvad en variabel er, hvad en event og en property er, hvordan en if-then-else sætning opbygges, hvordan man laver løkker osv. , inden du kaster 50 linier tilfældig kode ud og beder os forklare dig hvor fejlene er?

Uden ovenstående HELT basale viden kommer du ingen vegne med VB. Start med at læs en bog, vil jeg foreslå. Fx den jeg nævner i www.eksperten.dk/spm/298408 01/01-2003 19:40:35

/Martin
Avatar billede krydset Nybegynder
06. januar 2003 - 23:19 #21
hvordan bruger man den online bog
eller er det selve bogen du har
Avatar billede martin_moth Mester
07. januar 2003 - 09:11 #22
Man læser i den...
Avatar billede martin_moth Mester
07. januar 2003 - 09:11 #23
Det er en bog jeg selv har :o)
Avatar billede krydset Nybegynder
07. januar 2003 - 13:20 #24
*LOL*
ja jeg ved godt man læser i den, men er det en e-book du har
:-)
Avatar billede martin_moth Mester
07. januar 2003 - 13:35 #25
Det er en ganske almindelig bog af papir. Og ikke nødvendigvis den bedste - bare et eksempel. Flere eksempler her:

http://www.eksperten.dk/spm/1473
http://www.eksperten.dk/spm/222389
http://www.eksperten.dk/spm/62302
http://www.eksperten.dk/spm/215339
http://www.eksperten.dk/spm/192890
http://www.eksperten.dk/spm/283333

osv. - søg selv her på eksperten

Hvis du stadig kæmper med din kode, så husk at du skal have en commondialog-kontrol på din form, samt en kontrol eller en menu (sandsynligvis en menu) med navnet mFilåben for at den virker... /Martin
Avatar billede krydset Nybegynder
08. januar 2003 - 00:38 #26
jeg vælher og købe den bog der hedder:
Grundlæggende programmering med Visual Basic 6.0


Af Michell Cronberg

Forlaget Globe , 1. udgave, 1999
ISBN 87-7900-034-7
424 sider , Indbundet

jeg håber den kan hjælpe mig lidt videre og det må være martin der skal have points da han nok har brugt mest tid på mine "dumme" spørgsmål

jeg skriver hvis der stadig er probs når jeg har læst bogen 4-5 gange

Hygge til jer alle
Avatar billede martin_moth Mester
08. januar 2003 - 09:25 #27
Good luck - og god læsning :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester