Autor |
Beitrag |
A3eXy
      
Beiträge: 25
|
Verfasst: Sa 26.12.09 14:56
Hallo zusammen,
Ich habe schon gegoogelt und die SuFu benutzt aber leider nichts brauchbares gefunden.
Hoffe ihr könnt mir helfen :p
Wie's der Titel schon sagt, möchte ich gerne alle Prozeduren beenden ohne das dabei die GUI geschlossen wird, was z.B. bei close() passiert.
Vielen Dank
mfg
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 26.12.09 15:02
Hallo und  !
Was ist denn bei Dir eine Prozedur?
Grüße
Christian
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
A3eXy 
      
Beiträge: 25
|
Verfasst: Sa 26.12.09 15:11
Danke für die schnelle Antwort.
Für mich ist eine Prozedur, eine Funktion ohne Rückgabewert...
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| public string EingabeUser() { string strUser = Microsoft.VisualBasic.Interaction.InputBox("Geben Sie bitte den Benutzernamen ein: ", "Benutzernamen", "max.mustermann"); if (strUser == "") { } return strUser; } |
C#-Quelltext 1: 2: 3: 4: 5: 6:
| private void cmd1u1c_Click(object sender, EventArgs e) { string strUser = EingabeUser(); string strComputer = EingabeComputer();
} |
Okay das erste ist keine Prozedur :s, sry.
Ich möchte einfach wenn jemand bei der Eingabe nichts eingibt oder auf abbrechen klickt, die Prozedur cmd1u1c_Click nicht mehr weitergeführt wird und man direkt wieder auf der GUI ist.
Moderiert von Christian S.: Quote- durch C#-Tags ersetzt
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 26.12.09 15:16
Naja, Du kannst ja mir return; auch eine Methode beenden, die keinen Rückgabewert hat. Und dann schaust Du einfach, ob in strUser was drin steht. Wenn nicht, beendest Du die Methode.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
JasonDelife
      
Beiträge: 81
Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
|
Verfasst: Sa 26.12.09 15:17
In C# gibt es weder Funktionen noch Prozeduren. Es gibt Methoden mit und ohne Rückgabewert. Aber das nur nebenbei.
Wenn eine Methode void (also nichts) zurückgibt, dann kann man die Ausführung auch mit return beenden, genau wie bei Methoden mit Rückgabewert. Man kann nur keinen Rückgabewert angeben.
// EDIT: Christian war schneller
Grüße, JasonDelife.
|
|
A3eXy 
      
Beiträge: 25
|
Verfasst: Sa 26.12.09 15:22
Ok wieder was gelernt, danke euch zwei
Nur mein Problem ist ja, ich möchte von EingabeUser(), auch die cmd1u1c_Click() beenden.
Wenn ich nur ein Return bei EingabeUser habe dann wird die andere ja genau gleich ausgeführt.
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| public string EingabeUser() { string strUser = Microsoft.VisualBasic.Interaction.InputBox("Geben Sie bitte den Benutzernamen ein: ", "Benutzernamen", "max.mustermann"); if (strUser == "") { } return strUser; } |
Moderiert von Christian S.: Quote- durch C#-Tags ersetzt
|
|
JasonDelife
      
Beiträge: 81
Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
|
Verfasst: Sa 26.12.09 15:25
Achso. Dann lass das in EingabeUser() so, dass er einfach den String zurückgibt. Prüfe im Click-Handler auf "".
EDIT: Codeschnipsel:
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| string EingabeUser() { string input = return input; }
void myButton_Click() { string userInput = EingabeUser(); if(string.IsNullOrEmpty(userInput)) return; } |
Grüße, JasonDelife.
|
|
A3eXy 
      
Beiträge: 25
|
Verfasst: Sa 26.12.09 15:30
Es funktioniert  , Vielen Dank
Aber noch so nebenbei, dürfte return nicht einfach nur einmal in einer Methode vorkommen?
Von wegen schönem Code?
Gruss A3eXy
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 26.12.09 17:01
|
|