Warum am ende des Codes "End"?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Warum am ende des Codes "End"?

Beitrag von thminz »

Moin! In vielen Threads sehe ich öfters Codes in denen am ende immer das Schlüsselwort "End" benutzt wird. Warum schreibt man den "End" am ende obwohl am ende des Codes sowieso nichts mehr folgt und das Programm nach Codeende beendet wird ? Ist das so sinnvoll wenn man immer am ende "End" schreibt ? Wen man das Program vorzeitig beenden möchte dann ist es klar. Aber warum am ende ? :roll:
Was ich meine:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 250, 200, "Hallo", #PB_Window_SystemMenu)
  
  Repeat
    Event = WaitWindowEvent()
    
  Until Event = #PB_Event_CloseWindow
EndIf
End
Danke im Vorraus! :)
Immer Aktuelle Purebasic Version!!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Warum am ende des Codes "End"?

Beitrag von bobobo »

PB-Hilfe hat geschrieben: Syntax
End [ExitCode]

Beschreibung

Beendet ordentlich die Programmausführung. Der optionale 'ExitCode' Parameter kann angegeben werden, wenn das Programm einen Fehlercode zurückgeben soll (häufig in Konsolen-Programmen genutzt).

Der 'ExitCode' kann z.B. mit dem ProgramExitCode() Befehl weiterverwendet werden.
Die Betonung liegt auf ordentlich
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Warum am ende des Codes "End"?

Beitrag von rolaf »

Ja komisch das so wenig die Hilfe lesen. Dabei ist das die erste gute Quelle und nur eine F1 Taste weit. >:)
Vor absenden jeden Eröffnungs-Postings sollte eine 30 Sekunden-Schleife kommen mit Abfrage "Schon die Hilfe gelesen? Ja, Nein, Weis nicht, Hä?, Wattn dass?, Huch! Und nur bei Ja gehts weiter... :mrgreen:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Warum am ende des Codes "End"?

Beitrag von STARGÅTE »

Also auf ASM Basis unterscheiden kommen nur folgende (unbedeutende) Zeilen hinzu, wenn man END benutzt.
Das wichtige (Freigabe von Sachen) ist in jedem Fall immer dabei ...

Code: Alles auswählen

MessageRequester("End", "or not End")
; End
NoEnd hat geschrieben: ; MessageRequester("End", "or not End")
PUSH dword 0
CALL DBL
PUSH dword _S1
PUSH dword _S2
CALL _PB_MessageRequester_DEBUG
CALL _PB_MessageRequester@8
PUSH dword 1
CALL DBL
_PB_EOP_NoValue:
PUSH dword 0
_PB_EOP:
CALL _PB_EndFunctions
CALL PB_DEBUGGER_End
PUSH dword [PB_MemoryBase]
CALL _HeapDestroy@4
CALL _ExitProcess@4
_PB_EndFunctions:
CALL _PB_FreeNetworks@0
CALL _PB_FreeMemorys@0
RET
End hat geschrieben: ; MessageRequester("End", "or not End")
PUSH dword 0
CALL DBL
PUSH dword _S1
PUSH dword _S2
CALL _PB_MessageRequester_DEBUG
CALL _PB_MessageRequester@8
; End
PUSH dword 1
CALL DBL
JMP _PB_EOP_NoValue
PUSH dword 2
CALL DBL

_PB_EOP_NoValue:
PUSH dword 0
_PB_EOP:
CALL _PB_EndFunctions
CALL PB_DEBUGGER_End
PUSH dword [PB_MemoryBase]
CALL _HeapDestroy@4
CALL _ExitProcess@4
_PB_EndFunctions:
CALL _PB_FreeNetworks@0
CALL _PB_FreeMemorys@0
RET
Ein END am Ende des Code ist meiner Meinung nach wirklich überflüssig
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Re: Warum am ende des Codes "End"?

Beitrag von PMV »

Kurz:
Benötigt, wenn man einen Exitcode bestimmen möchte, ansonsten Geschmackssache.
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
thminz
Beiträge: 84
Registriert: 25.05.2011 16:01
Computerausstattung: Windows XP, Intel Pentium 4 mit 3,2 Ghz, 2 GB RAM, 500 GB, ATI Radeon HD 4200
Wohnort: Köln

Re: Warum am ende des Codes "End"?

Beitrag von thminz »

Danke danke für die vielen Antworten, ihr seid klasse :D Danke :)
Immer Aktuelle Purebasic Version!!
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: Warum am ende des Codes "End"?

Beitrag von AND51 »

Alternativ kannst du auch den Befehl "Happy End" benutzen!
Dies führt nicht nur dazu, dass dein Programm 'ordentlich' beendet wird, wie es in der Hilfe steht; nein, es macht außerdem dein Betriebssystem glücklicher, wenn es sieht, dass dein Programm kein normales Ende, sondern ein Happy End hat! :mrgreen:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
ullmann
Beiträge: 205
Registriert: 28.10.2005 07:21

Re: Warum am ende des Codes "End"?

Beitrag von ullmann »

@AND51: Happy End ist zwar originell, aber das Makro "Happy" setzt ein Kommentarzeichen ";" an den Zeilenanfang,
so dass die ganze Zeile und damit auch der End-Befehl nicht ausgeführt wird. Obwohl das vermutlich keine Rolle spielt,
wird damit zumindest die laut Dokumentation beim End-Befehl genannte "ordentliche" Beendigung des Programms nicht
genutzt.

Happy End macht also das Betriebssystem glücklicher, aber das "ordentliche" Beenden können wir nur vermuten.

Edit:

Code: Alles auswählen

Macro Happy_End
  ;-)   (oh du glückliches Betriebssystem)
  End  ;hier ist's jetzt ordentlich
EndMacro
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Warum am ende des Codes "End"?

Beitrag von ts-soft »

End macht genau das, was es sagt, es beendet sofort das Programm. Wer sagt den das End am Ende
stehen muß? Es kann auch in einer Procedure, Bedingung usw. stehen.
Exitcode wurde ja bereits erwähnt und in ganz alten PB Versionen war es noch wichtig, um Datas vom
Programm abzugrenzen, da gab es noch keine DataSection oder war eine solche nicht erforderlich.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
ullmann
Beiträge: 205
Registriert: 28.10.2005 07:21

Re: Warum am ende des Codes "End"?

Beitrag von ullmann »

Aber die Frage war, ob "End" am Ende des Programmes sinnvoll ist.
Gesperrt