Ungewolltes Beenden

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Ungewolltes Beenden

Beitrag von Alves »

Also ich hab da ein Programm (konsole), und der beendet einfach an einer Stelle obwohl er es nicht soll.

Code: Alles auswählen

1 OpenConsole()
2 ConsoleColor(4, 0)
3 PrintN("Geben Sie Ihren Namen ein und druecken Sie Return: ")
4 name$=Input()
5 PrintN("Hallo, "+name$+", schoen Sie zu sehen.")
6 ConsoleColor(2, 0)
7 PrintN("Koennten sie bitte ihre Lieblingszahl eingeben?") 
8 zahl$=Input()
9 PrintN("Ihre Lieblingszahl ist "+zahl$+"") 
10 CloseConsole()
nachdem ich die zahl eingegeben habe schließt sich die konsole obwohl danach doch noch der print befehl kommt.

und dann wollt ich nich fragen wie ich einen Zeilenumbruch manuell eingeben muss.

bitte um hilfe. bin noch ein anfänger. :roll:
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

Der Print-Befehl wird schon ausgeführt, nur siehst du das nicht, da unmittelbar der CloseConsle-Befehl kommt.
Kannst ja vor CloseConsole nocht einen Input() hinsetzen, dann siehst du, dass es geht :allright:

wegen dem Zeilenumbruch: (Falls du das meinst)

entweder einfach PrintN("") oder #CRLF$ hinter einem anderen Print-Befehl setzen.
-.-"
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Beitrag von Marvin »

Alves hat geschrieben:

Code: Alles auswählen

1 OpenConsole()
2 ConsoleColor(4, 0)
3 PrintN("Geben Sie Ihren Namen ein und druecken Sie Return: ")
4 name$=Input()
5 PrintN("Hallo, "+name$+", schoen Sie zu sehen.")
6 ConsoleColor(2, 0)
7 PrintN("Koennten sie bitte ihre Lieblingszahl eingeben?")
8 zahl$=Input()
9 PrintN("Ihre Lieblingszahl ist "+zahl$+"")
10 CloseConsole()

Code: Alles auswählen

9 PrintN("Ihre Lieblingszahl ist "+zahl$)
10 Input()
11 CloseConsole()
Worauf sollte PB denn warten, wenn etwas ausgegeben wird? Mit Input() wartet es auf Return. :wink:
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Sag mal, warum nummerierst du den Code?

Code: Alles auswählen

OpenConsole()
ConsoleColor(4, 0)
PrintN("Geben Sie Ihren Namen ein und druecken Sie Return: ")
name$=Input()
PrintN("")
PrintN("Hallo, "+name$+", schoen Sie zu sehen.")
ConsoleColor(2, 0)
PrintN("Koennten sie bitte ihre Lieblingszahl eingeben?")
zahl$=Input()
PrintN("")
PrintN("Ihre Lieblingszahl ist "+zahl$+"")
Input()
CloseConsole()
Beendet sich weil der Code da einfach endet, muss ein Input rein. Zeilenumbruch mit Printn("")
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Danke für dien Hilfe, mit dem Close klappts, aber bei dem Zeilenumbruch möchte ich

Code: Alles auswählen

PrintN("Hallo, "+name$+", schoen Sie zu sehen.")
bevor das Hallo kommt, noch ein Zeilenumbruch, da es ansonsten direkt hinter den eingegebenen Namen kommt.
Warum sollte ich es nicht nummerieren? :D
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

Hab ich doch schon gesagt, #CRLF$ rein. *alternativ auch Chr(10) + chr(13)*

PrintN("Hallo," + Chr(10) + Chr(13)+name$+", schoen Sie zu sehen.")

>>Warum sollte ich es nicht nummerieren?

Damit man es ohne probleme gleich ausführen kann, und schneller den bug findet? :wink:
-.-"
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Greensnake du erzählst Stuss:

Code: Alles auswählen

OpenConsole()

PrintN("Test1"+Chr(10)+Chr(13)+"Test2")
Input()

CloseConsole()
Nimm einfach ein neues PrintN()

Code: Alles auswählen

OpenConsole()

PrintN("Test1")
PrintN("")
PrintN("Test2")
Input()

CloseConsole()
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

>>entweder einfach PrintN("") oder #CRLF$ hinter einem anderen Print-Befehl setzen.

Edit

Code: Alles auswählen

OpenConsole() 

PrintN("Test1" + #CRLF$) 
PrintN("Test2" + Chr(10) + Chr(13))
PrintN("Test3")
Input() 

CloseConsole()

Edit 2:
geht also beides.
-.-"
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Green Snake hat geschrieben:>>entweder einfach PrintN("") oder #CRLF$ hinter einem anderen Print-Befehl setzen.

Edit

Code: Alles auswählen

OpenConsole() 

PrintN("Test1" + #CRLF$) 
PrintN("Test2" + Chr(10) + Chr(13))
PrintN("Test3")
Input() 

CloseConsole()

Edit 2:
geht also beides.
Nö, bei mir bewirkt dein #CRLF$ nichts, genausowenig wie Chr(10) + Chr(13), außer dass eine Note oder sowas dargestellt wird.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

Im "normalen" Konsolenmodus (PB4) geht das, jedoch wenn

EnableGraphicalConsole(1)

eingesetzt wurde, gehts nicht mehr :freak:

ok, schon gut, hast gewonnen :lol:
-.-"
Antworten