Autor
|
Thema: VB-Code (755 mal gelesen)
|
Tim2007 Mitglied Konstrukteur
Beiträge: 143 Registriert: 02.01.2007 Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton
|
erstellt am: 09. Mrz. 2012 09:34 <-- editieren / zitieren --> Unities abgeben:
Hi Gemeinde, was ist an meinem VB-Code falsch? Verwende gerade Visual VB 2008 Express: Private Sub update1() Dim Text1, Text2, Text3, Text4, Text5, Text6 As Integer Text1 = CInt(TextBox1.Text) Text2 = CInt(TextBox2.Text) Text3 = CInt(TextBox3.Text) Text4 = CInt(TextBox4.Text) Text5 = CInt(TextBox5.Text) Text6 = CInt(TextBox6.Text) TextBox5.Text = (Text6 - Text4) / (Text3 - Text1) * (Text2 - Text1) + Text4 End Sub Bei CInt meckert er. Danke. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 09. Mrz. 2012 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
Hallo Tim, tendenziell ist an deinem Code nichts falsch, solange erstens etwas in den Textfeldern drinsteht und zweitens nur ganze Zahlen, die nach Integer umgewandelt werden können. Demnach musst du schon bei der Eingabe eine Plausibilitätsprüfung durchführen. BTW füg mal ein Try Catch ein, dann bekommst du auch eine vernünftige Fehlermeldung... Code:
Private Sub update1() Dim Text1, Text2, Text3, Text4, Text5, Text6 As Integer Try Text1 = CInt(TextBox1.Text) Text2 = CInt(TextBox2.Text) Text3 = CInt(TextBox3.Text) Text4 = CInt(TextBox4.Text) Text5 = CInt(TextBox5.Text) Text6 = CInt(TextBox6.Text) TextBox5.Text = (Text6 - Text4) / (Text3 - Text1) * (Text2 - Text1) + Text4 catch ex as Exception msgbox(ex.tostring) end try End Sub
Ergänzung: Kann es sein, dass in der TextBox5 garnichts drinsteht? Dann wäre das IMHO deine Fehlerquelle... ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 09. Mrz. 2012 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
Was Rick schreibt ist richtig, ich würde es aber anders lösen (weil ich Try Catch nicht mag, wenn man schon weiß, dass es schief geht): Code:
if(IsNumeric(TextBox1.Text)) then Text1 = CInt(TextBox1.Text) else Text1 = 0 End If
Ist VB-Code, kann also sein, dass die Funktion IsNumeric() in .NET anders heißt oder aussieht. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 09. Mrz. 2012 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
Zitat: Original erstellt von HoBLila: Was Rick schreibt ist richtig, ich würde es aber anders lösen (weil ich Try Catch nicht mag, wenn man schon weiß, dass es schief geht):
Hallo Henry, das Try Catch nehme ich generell für den Fall das ein Fehler auftritt. Wenn man schon weis, dass der oder der Fehler auftritt, muss man Fehlerroutinen hinzufügen und eben Plausiprüfungen einfügen. So wie ich geschrieben habe Ich würde demnach deinen Code trotzdem mit Try Catch auf Fehler prüfen. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|