Das deutsche QBasic- und FreeBASIC-Forum Foren-bersicht Das deutsche QBasic- und FreeBASIC-Forum
Fr euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

VB Taschenrechner

 
Neues Thema erffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-bersicht -> Spezielle Fragen
Vorheriges Thema anzeigen :: Nchstes Thema anzeigen  
Autor Nachricht
shiZZle



Anmeldungsdatum: 18.11.2007
Beitrge: 11

BeitragVerfasst am: 14.02.2008, 18:04    Titel: VB Taschenrechner Antworten mit Zitat

Hi ich hab nen Taschenrechner programmiert, der aber irgendwie nicht funktioniert. Pls hilft mir.

Code:
Dim zahl1 As String
Dim rechenart As String

Private Sub cmd_0_Click()
Text1 = Text1 + "0"
'tf_display = tf_display + 0
End Sub

Private Sub cmd_1_Click()
Text1 = Text1 + "1"
'cmd_display = tf_display + 1
End Sub

Private Sub cmd_2_Click()
Text1 = Text1 + "2"
'tf_display = tf_display + 2
End Sub

Private Sub cmd_3_Click()
Text1 = Text1 + "3"
'tf_display = tf_display + 3
End Sub

Private Sub cmd_4_Click()
Text1 = Text1 + "4"
'tf_display = tf_display + 4
End Sub

Private Sub cmd_5_Click()
Text1 = Text1 + "5"
'tf_display = tf_display + 5
End Sub

Private Sub cmd_6_Click()
Text1 = Text1 + "6"
'tf_display = tf_display + 6
End Sub

Private Sub cmd_7_Click()
Text1 = Text1 + "7"
'tf_display = tf_display + 7
End Sub

Private Sub cmd_8_Click()
Text1 = Text1 + "8"
'tf_display = tf_display + 8
End Sub

Private Sub cmd_9_Click()
Text1 = Text1 + "9"
'tf_display = tf_display + 9
End Sub



Private Sub cmd_addieren_Click()
zahl1 = Text1
'die Variable soll genau den Wert des Displays erhalten
rechenart = "addieren"
'variable "rechenart" soll den Wert "addieren" erhalten
Text1 = ""
'Display leeren
End Sub

Private Sub cmd_dividieren_Click()
zahl1 = Text1
'die Variable soll genau den Wert des Displays erhalten
rechenart = "dividieren"
'variable "rechenart" soll den Wert "dividieren" erhalten
Text1 = ""
'Display leeren
End Sub

Private Sub cmd_ergebnis_Click()
If rechenart = "addieren" Then
Text1 = CDbl(zahl1) + CDbl(Text1)
'mit cdbl() wird der jeweilige Inhalt in Zahlen umgewandelt
ElseIf rechenart = "subtrahieren" Then
Text1 = CDbl(zahl1) - CDbl(Text1)
ElseIf rechenart = "multiplizieren" Then
Text1 = CDbl(zahl1) * CDbl(Text1)
ElseIf rechenart = "dividieren" Then
Text1 = CDbl(zahl1) / CDbl(Text1)
End If
End Sub

Private Sub cmd_lschen_Click()
Text1 = ""
zahl1 = ""
'Variable und Display lschen
End Sub

Private Sub cmd_multiplizieren_Click()
zahl1 = Text1
'die Variable soll genau den Wert des Displays erhalten
rechenart = "multiplizieren"
'variable "rechenart" soll den Wert "multiplizieren" erhalten
Text1 = ""
'Display leeren
End Sub

Private Sub cmd_subtrahieren_Click()
zahl1 = Text1
'die Variable soll genau den Wert des Displays erhalten
rechenart = "subtrahieren"
'variable "rechenart" soll den Wert "subtrahieren" erhalten
Text1 = ""
'Display leeren
End Sub

Private Sub Form_Load()

End Sub
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beitrge: 472

BeitragVerfasst am: 14.02.2008, 18:41    Titel: Antworten mit Zitat

verwundert Irgendwie... kompliziert...
Programmiere nicht viel VB (Ja, ich tus, aber weil VB 2008 Express nur unter XP SP 2 und Vista luft, publiziere ich nix), sieht aber sehr unbersichtlich aus.

Was sind die Buttons hinter "cmd_0", "cmd_1",...?
Code:

private sub bttplus_Click()
   dim erg as single
   erg = CSng(Me.txtWert1.text) + CSng(Me.txtWert1.text)
   Me.txtErg.text=erg
end sub

usw.

Ausgehend von der Tatsache, dass bttplus_Click() die OnClick Prozedur fr einen Button ist und txtWert1, txtWert2 und txtErg Inputfelder ist. Ist bersichtlicher und die Methode wird in einem Buch beschrieben durchgeknallt
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug fr jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
shiZZle



Anmeldungsdatum: 18.11.2007
Beitrge: 11

BeitragVerfasst am: 14.02.2008, 18:45    Titel: Antworten mit Zitat

irgendwie hab ich das net so gerafft, was du mir da gesagt hast.

JA die cmd_X sind buttons.

Vielleicht knnteste mit das bisschen besser erklren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beitrge: 472

BeitragVerfasst am: 14.02.2008, 19:03    Titel: Antworten mit Zitat

Sorry bin gerade drauf gekommen wofr die "cmd_x" Buttons gut sind. Vom Konzept her siehts irgendwie aus wie der Standard- Windows- Taschenrechner [spott]"MW - 00-X" zwinkern [/spott].
Ich meine, das das umstndlich programmiert ist, weil
1. Der Windows Taschenrechner schneller sein wird
2. Der Windows Taschenrechner mehr Funktionen haben wird

Jedenfalls ist die Methode mit Textboxen wesentlich leichter (und untersttzt nebenbei auch Drag'n'Drop). So wie ich es gepostet habe.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug fr jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
shiZZle



Anmeldungsdatum: 18.11.2007
Beitrge: 11

BeitragVerfasst am: 14.02.2008, 19:11    Titel: Antworten mit Zitat

naja es ist ne hausaufgabe...von daher kann ich da nichts machen

die frage ist, warum es nicht funktioniert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beitrge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 14.02.2008, 20:33    Titel: Antworten mit Zitat

Falls es VB5 oder VB6 ist, wrde ich an deiner Stelle den Buttons ein Index-Feld geben und dafr nur allen Buttons den selben Namen geben (spart viiiiel code und arbeit). Geht AFAIK aber in diesem sch*** VB 2005, 2008 oder was auch immer nicht.
_________________
Die Mathematik wurde geschaffen, um Probleme zu lsen, die es nicht gbe, wenn die Mathematik nicht erschaffen worden wre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
raph ael



Anmeldungsdatum: 12.04.2006
Beitrge: 472

BeitragVerfasst am: 14.02.2008, 20:43    Titel: Antworten mit Zitat

Mit Tags gehts auch, oder man verwendet einfach den TabIndex dafr. Dann hat man auch eine bessere Navigation eingebaut lcheln .
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug fr jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
A.K.



Anmeldungsdatum: 02.05.2005
Beitrge: 467
Wohnort: HH

BeitragVerfasst am: 15.02.2008, 10:21    Titel: Antworten mit Zitat

Hi,

eine Frage zu dem Programm:

Lautet die Hausaufgabe "programmiere einen Taschenrechner" oder "finde den Fehler in diesem vorprogrammierten Taschenrechner"?

Je nach Aufgabenstellung geht die Lsung ja in eine komplett andere Richtung.

MFG A.K.

PSTipp:
Lass dir mal im cmd_ergebnis_click-sub die Variable "Text1" ausgeben.
happy
Code:

Private Sub cmd_ergebnis_Click()
MSGBOX (text1)
'...dein Code
End Sub

_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Ferdi



Anmeldungsdatum: 10.03.2007
Beitrge: 284
Wohnort: Berlin

BeitragVerfasst am: 26.03.2008, 12:26    Titel: Antworten mit Zitat

Sind im VBDOS-Paket nicht beispielprogramme dabei?
Da ist auch ein Taschenrechner vorhanden (Sowohl Standart, als auch Professionell -Edition).

/EDIT:
Ich habs:
Code:
      
  L       )                    E
          ]
   x
        
  z         
  |         
  ~         
          
          
           
          
  
       
               y
             
            
            =
           
          
           
              
    
      Y
           
   
               a }    %A!
 Calculator   0   0   1   2   3   4   5   6   7   8   9   .   C   CE   +   -   *   /   =   %     frmCalc    
lblReadout-   cmdNumber;
cmdDecimalH   cmdCancelZcmdCancelEntryi cmdOperatorw
cmdPercent 
pctKeyTrap           4Q$ t    c     NV                  +@  g                          Form_Loadw  cmdPercent_Click  cmdCancel_Click  cmdDecimal_Click  cmdCancelEntry_Click  cmdNumber_Click   Indx   cmdOperator_Click FALSEY TRUE   Op15 Op2    DecimalFlag   NumOps    LastInput   OpFlag   Decimal   
lblReadout   Caption   
pctKeyTrap|    cmdNumber   temp    cmdOperator   
cmdDecimal   Top  SCREEN   Height   Left   Width   pctKeyTrap_KeyPress   KeyAscii     
H-  -    Visual Basic for MS-DOS Calculator Program-        6    Calculator program that supports mouse and keyboard         input.a        0    Copyright (C) 1982-1992 Microsoft Corporation        :    You have a royalty-free right to use, modify, reproduce  D    and distribute the sample applications and toolkits provided with  8    Visual Basic for MS-DOS (and/or any modified version)  ;    in any way you find useful, provided that you agree thati  :    Microsoft has no warranty, obligations or liability for  .    any of the sample applications or toolkits.     
H-    =    Include file containing declarations for called procedures-       calc.bi'  1    Procedure declarations for Calculator program.        D  V      D  c      D  w      D        D        D             D                 # d    # t       }  
   #  Previously input operand.   }  
   #  Second operand.   }  
   #  Decimal point present yet?    }  
   #  Number of operands.   }  
  " #  Indicate type of last keypress.   }  
 +  #  Indicate pending operation.   }  
 5 ( #  Decimal indicator (country specific).       (
   A  cmdCancelEntry_Click 8    3    Click event procedure for Cancel Entry (CE) key.f       v       m 0" @ N   1 (  Decimal point here does not indicate fraction.  m CE   (  Track what user did last.  Y   Q             cmdCancel_Click 8    ,    Click event procedure for Cancel (C) key.  /    Reset the display and initializes variables.         v  w     m 0" @ N   d  m NONE  m  +  Y   Q             cmdDecimal_Click 8|  )    Click event procedure for Decimal key.a  /    If last keypress was an operator, initialize    '    readout. Otherwise, append a decimali      point to the display.       v        m NUMSqa     m 0" 5  @ N   M   @ N 5  @ N P      - $  Decimal point here does indicate fraction.i m NUMS   Y   Q             cmdNumber_Click 8  /    Click event procedure for number (0-9) keys.c  3    Appends new number to the number in the display.n       v             m NUMSqa     m  @ N   P     @ N   g N  @ N m NUMS   Y   Q     
       cmdOperator_Click 8X  ;    Click event procedure for operator (+, -, x, /, =) keys.    7    If the immediately preceeding keypress was part of ae  7    number, increment NumOps. If one operand is present,e  4    set Op1. If two are present, set Op1 equal to the  1    result of the operation on Op1 and the currentt  (    input string, and display the result.       v             m NUMSa      d   P     5   If "," is being used as decimal separator, convert   (   back to "." for numeric calculations.  @ N t  5m ," tm ,"$]    tm ,"$dm ." t     da      tZ    d   M   tZ     +t 0m +";       0m -";  w   0m *";  p   0m /";   @ da    Pm Can't divide by zerodm
 Calculator @I P    @P  0m =";     R      5   If "," is being used as decimal separator, convert       "." back to "," for display.m  Q+ t  5m ," tm ."$]    tm ."$dm ," t    t @ N  d  P    m OPS"     | N +  Y   Q      .       cmdPercent_Click 8  -    Click event procedure for percent (%) key."  9    Compute and display a percentage of the first operand.         v  c        5   If "," is being used as decimal separator, converta  5   back to "." for numeric calculations, then back toa     "," for display.n  @ N t  5m ," tm ,"$]    tm ,"$dm ." t   tZped Q+ t  5m ," tm ."$]    tm ."$dm ," t   t @ N    Y   Q                Form_Load 8  '    Initialization routine for the form.  '    Set all variables to initial values.       v  V       d  m NONE  m  +    1   Determine whether "." or "," should be used as  /   decimal separator based on value returned bya     FORMAT$ (country specific). k  ?m #.#" t  tm ,"$a     m ," 5  m ,"  N I   m ." 5 P        Center form on screen.     wnd   `     wnd   `   Q             pctKeyTrap_KeyPress 0|  4    KeyPress event procedure for KeyTrap picture box.  :    The hidden KeyTrap control acts as the central keyboard  ?    handler. It processes keyboard input and invokes appropriate    4    Event Procedure.  Focus is always returned to the  5    KeyTrap picture box at the end of each click event        for the command buttons.h       v           t e0 e9 <  5  5 0-9b , e0 w7    d!;  5  5 Cancel Entry (CE)h ,7     e
 ;  5  5 Enter is same as Equal (=) ,d7    e ;  5  5 Cancel All (C) ,7   w  e% ;  5
 5 Percent (%)( ,7   c  e* ;  5  5 Multiply (*) ,d   7    e+ ;  5     5 Add (+)y ,d7    e- ;  5  5 Subtract (-) ,d7    e, ; e. ;  5  5 Decimal (.) or Comma (,) ,7     e/ ;  5 5 Divide (/) ,d
7    e= ;  5 5 Equal (=)) ,d7    :   5 Reject all others  R   Q      "     


Einfach in Editor Kopieren und als Calc.frm speichern

/EDIT:
1) In welcher Sprache ist das? (Versionsnummer)
2) Am besten wre es, wenn du uns das Projekt (Dateien) gibst, sodass wir es ausprobieren knnen

/EDIT:
Hier das komplette Taschenrechnerprojekt
Viel Spa damit zwinkern

Mit feundlichen Gren aus dem Haus der Bundespressekonferenz in Berlin
wnscht Ferdi
_________________
Dieser Post wurde cum grano salis gewrzt! Na dann: Guten Appetit!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beitrge der letzten Zeit anzeigen:   
Neues Thema erffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-bersicht -> Spezielle Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beitrge in dieses Forum schreiben.
Du kannst auf Beitrge in diesem Forum nicht antworten.
Du kannst deine Beitrge in diesem Forum nicht bearbeiten.
Du kannst deine Beitrge in diesem Forum nicht lschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz