Basic4ppc - Windows Mobile Development  

Go Back   Basic4ppc - Windows Mobile Development > Foreign Languages > German Forum
Home Register FAQ Members List Search Today's Posts Mark Forums Read


Probleme bei device.exe wegen goto-Befehl


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 01-18-2008, 01:42 PM
Newbie
 
Join Date: Dec 2007
Posts: 3
Default Probleme bei device.exe wegen goto-Befehl

Hallo,
ich habe mein erstes Programm geschrieben und das funktioniert auch so wie ich es will. Nur wenn ich es als device.exe compilieren möchte erscheint die Fehlermeldung: error CS0159 Die Bezeichnung startspeichern ist im Bereich der goto-Anweisung nicht vorhanden. Line: goto startspeichern.

Ich habe Buttons die Befehle ausführen und zusätzlich Pulldownmenüs (die man unten links und rechts anlegen kann) die den selben Befehl ausführen sollen. Um nicht zweimal das ganze als Code zu schreiben verwende ich den goto-Befehl um zur gleichen Sub zu gelangen.

Wenn jemand mir helfen kann oder einen anderen Vorschlag hat wie das generell benutzen kann wäre ich sehr dankbar.

Urgott
Reply With Quote
  #2 (permalink)  
Old 01-18-2008, 03:15 PM
Knows the basics
 
Join Date: Dec 2007
Posts: 66
Default Warum Goto

Hallo Urgott,
wenn ich es richtig verstanden habe möchtest du den Efekt erreichen, den das anliegende Beispiel zeigt.

Gruß

berndgoedecke
Attached Files
File Type: sbp MehrfachSub.sbp (923 Bytes, 5 views)
Reply With Quote
  #3 (permalink)  
Old 01-18-2008, 03:57 PM
specci48's Avatar
Basic4ppc Expert
 
Join Date: Apr 2007
Location: Germany
Posts: 578
Default

Der Button und das zugehörige Menu sollen identischen Code ausführen.
Hierzu kann man auch die Sub eines Events direkt aufrufen, z.B.

Code:
Sub Button1_Click
	' tue hier etwas sehr wichtiges ;-)
End Sub

Sub Menu1_Click
        ' tue genau das, was bei Button1 läuft
	Button1_Click
End Sub
Und noch etwas eleganter - man weist dem Standardevent vom Button und von dem Menu nicht eine eigene Sub zu, sondern direkt eine identische:

Code:
Sub App_Start
	Form1.Show
	AddEvent("Button1", Click, "Button1_oder_Menue1")
	AddEvent("Menu1", Click, "Button1_oder_Menue1")
End Sub

Sub Button1_oder_Menue1
	' tue hiuer etwas wichtiges für Button1 und Menue1
End Sub

Gruß
specci48
Reply With Quote
  #4 (permalink)  
Old 01-18-2008, 06:04 PM
Newbie
 
Join Date: Dec 2007
Posts: 3
Default

Halo.
Danke für deine schnelle Antwort. Habe das Programm umgeschrieben und kann jetzt auch eine device.exe erstellen. Weiß du weshalb der goto-Befehl Probleme bereitet?

Noch eine kleine Frage: Gibt es einen Befhel mit dem man eine Sub beenden kann ohne das ganze Programm zu beenden?

Nochmals danke.

Urgott
Reply With Quote
  #5 (permalink)  
Old 01-18-2008, 06:24 PM
Filippo's Avatar
Basic4ppc Veteran
 
Join Date: May 2007
Location: Schwäb. Gmünd, Germany
Posts: 201
Default

Hallo urgott,

du kannst eine Sub einfach mit ein return beenden.

PHP Code:
Sub Test
  
...
  ...
  if 
weiter=true then return
  ...
  ...
End Sub 
Ciao,
Filippo
__________________
PPC: MDA Pro, 2GB SD
PPC: HTC Touch Diamond, 4GB
______________________
Reply With Quote
  #6 (permalink)  
Old 01-18-2008, 07:29 PM
specci48's Avatar
Basic4ppc Expert
 
Join Date: Apr 2007
Location: Germany
Posts: 578
Default

Quote:
Originally Posted by urgott View Post
Weiß du weshalb der goto-Befehl Probleme bereitet?
Eine generelle Ferndiagnose ist schwer möglich, dazu müßtest Du mal den Code Deiner Sub posten.
Aber: Betrachtet man den verfügbaren Sprachumfang von Basic4ppc, so ist der Goto-Befehl eigentlich überflüssig, weil man in jeder hinsicht "eleganter" programieren kann. Für die Variante "Sprung ans Sub-Ende" zum direkten Rücksprung aus einer Sub dient Return (siehe Post von Filippo) und für den Fall "Sprung aus einer Schleife" heraus kann man den Befehl Break verwenden.

Gruß
specci48
Reply With Quote
  #7 (permalink)  
Old 01-18-2008, 10:53 PM
klaus's Avatar
Basic4ppc Expert
 
Join Date: Oct 2007
Location: Switzerland
Posts: 516
Awards Showcase
Competition Winner 
Total Awards: 1
Default

Hallo specci48
Den Befehl Break kannte ich nicht aber den Befehl Exit ja.
Habe im Helpfile nachgeschaut und in der Liste führt der Name Break zu Exit.
Break scheint also ein älterer Befehl zu sein und ist durch Exit ersetzt.

Güsse
Klaus
Switzerland

Last edited by klaus : 01-19-2008 at 06:50 AM.
Reply With Quote
  #8 (permalink)  
Old 01-19-2008, 10:23 AM
specci48's Avatar
Basic4ppc Expert
 
Join Date: Apr 2007
Location: Germany
Posts: 578
Default

Hallo Klaus,

Du hast ja recht, Exit statt Break.

So etwas kommt halt vor, wenn man Programmiersprachen durcheinander wirft.

Tagsüber im Job Java, abends in der Freizeit Basi4ppc


Gruß
specci48
Reply With Quote
  #9 (permalink)  
Old 01-19-2008, 02:01 PM
klaus's Avatar
Basic4ppc Expert
 
Join Date: Oct 2007
Location: Switzerland
Posts: 516
Awards Showcase
Competition Winner 
Total Awards: 1
Default

Den Goto Befehle sollte man vergessen !
Der Neue Compiler hat noch mehr Einschränkungen als der vorhergehende.
Ich verwende in meinem Natural Frequency Programm eine alte Eigenwert Routine von HP mehr als 20 Jahre alt mit etlichen verschlungenen Goto's. Sie funktionnierte perfekt in HP Basic nachher in VB Basic, habe sie nach Basic4PPC übertragen, funktionierte nicht im alten Compiler. Agraham hat zwei For Next Schlaufen in zwei Do Loop Schlaufen ersetzt und dann lief es. Im Neuen Compiler funktioniert diese Routine nicht mehr.

Wenn es jemanden interessiert sich sogenannten Spagetticode anzusehen den findet Ihr in:
Eigenvalue and Eigenvector calculation

Man könnte sich die Frage stellen ob man den Goto Befehl in Basic4PPC nicht schlicht beseitigen sollte da er im Neuen Compiler mit den Einschränkungen wahrscheinlich mehr Verwirrung einführt als Lösungen bringt.


Grüsse
Klaus
Switzerland
Reply With Quote
  #10 (permalink)  
Old 01-19-2008, 04:23 PM
agraham's Avatar
Basic4ppc Expert
 
Join Date: Jul 2007
Location: Cheshire, UK
Posts: 1,368
Awards Showcase
Forum Contributer 
Total Awards: 1
Default

Quote:
Originally Posted by klaus View Post
Im Neuen Compiler funktioniert diese Routine nicht mehr.
Surprise!

Eigenvalue and Eigenvector calculation
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Probleme mit LoadCSV und ANSI - UTF-8 Holger.D German Forum 2 05-13-2008 07:23 PM
Probleme beim Einlesen von CSV Christian72D German Forum 1 01-07-2008 10:33 AM
Probleme beim Lesen eines NMEA-Protokolls schimanski German Forum 0 12-09-2007 05:20 PM
Goto problem klaus Questions & Help Needed 2 11-15-2007 01:28 PM
avoid using goto paul j Code Samples & Tips 0 11-11-2007 11:56 AM


All times are GMT. The time now is 06:25 AM.


Powered by vBulletin® Version 3.6.10
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.1.0