Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Formulare, Steuerelemente und die weiter Verarbeitung im Modul

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Formulare, Steuerelemente und die weiter Verarbeitung im Modul (1725 mal gelesen)
User-Boris-100
Mitglied
-


Sehen Sie sich das Profil von User-Boris-100 an!   Senden Sie eine Private Message an User-Boris-100  Schreiben Sie einen Gästebucheintrag für User-Boris-100

Beiträge: 11
Registriert: 06.06.2005

erstellt am: 29. Sep. 2005 15:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Folgende Erweiterung zum letzten Problem:

Ich möchte ein Quadrat zeichnen bei dem die Variable, die Seitenlänge, über eine Auswahl einer Listenbox erfolgt. Die Auswahl sind fest vorgegebene Werte z.B. (100,200,300,400 und 500).

Problem

1: wie rufe ich im Modul ein Formular auf?
2: nach dem Selektieren der Kantenlänge muß der Wert ins Modul übergeben werden. wie?
3: wenn die Auswahl nur ein Text ist, wie kann ich dem Text eine Zahl zuordnen
4:
5: wenn ich eine Zahl als Ausgabewert bekomme, wie z.B. 2,4 oder 2,9 und zur weiteren Bearbeitung nur die Ziffer “2“ benötige muß es doch irgendein Befehl geben der dieses ausführt....

Gruß und Dank

Boris

------------------
Boris

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 29. Sep. 2005 16:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für User-Boris-100 10 Unities + Antwort hilfreich

Hi Boris,
warum 2x?
zu 1:
Code:

'******normalesModul*******
Sub zeige_mir_die_Userform()
    UserForm1.show
End Sub


zu 2./3.:
Code:

'******Userform1************
Private Sub ListBox1_Click()
    Dim i%
    Dim rect As AcadPolyline
    Dim insp#(2), L#, coo#(11)
    With ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                L = CDbl(.List(i))
                coo(0) = insp(0): coo(1) = insp(1): coo(2) = insp(2)
                coo(3) = coo(0) + L: coo(4) = coo(1): coo(5) = coo(2)
                coo(6) = coo(3): coo(7) = coo(4) + L: coo(8) = coo(2)
                coo(9) = coo(0): coo(10) = coo(7): coo(11) = coo(2)
                Set rect = ThisDrawing.ModelSpace.AddPolyline(coo)
                rect.Closed = True
            End If
        Next
    End With
    ThisDrawing.Regen acActiveViewport
    'unload me 'würde die Form wieder schliessen
End Sub

Private Sub UserForm_Initialize()
    Dim i%
    For i = 1 To 9
        ListBox1.AddItem i * 100
    Next
End Sub



zu 4.: genau!;-)

zu 5.:

Code:

?fix(2.5)
2
?round(3.123,0)
3


Aber schau' Dir doch mal den Link von mir gestern an und nicht erst ab Tag18;-)

Gruss Nancy   

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Moderator
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 29. Sep. 2005 17:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für User-Boris-100 10 Unities + Antwort hilfreich

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 29. Sep. 2005 17:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für User-Boris-100 10 Unities + Antwort hilfreich

Hallo Boris,

wo sollen wir Antworten ? Hier oder in dem von gestern ?

Füg doch mal eine Userform im VBA Editor ein.
In diese plazierst du eine Combobox eine Textbox und einen Button.
Dann kopierst du das Beispiel in den Code-Editor.

Ich glaube aus deiner Frage geht hervor das du dir nicht vorstellen kannst was da im VB Programm abgeht.

Also... Es gibt da Objekte (z.B. eine Form oder eine Combobox etc) die haben Eigenschaften (wie Text) und diese Objekte können Ereignisse auslösen (Klick). Diese Ereignisse brauchst du zur Interaktion mit dem Programm. Du entscheidest wenn einer auf den Button drückt was passiert. Genauso kannst du reagieren wenn jemand einen Listeneintrag in einer Combobox auswählt.
Jedes Objekt hat seine eigenen typischen Ereignisse.
Starte das "Programm" mal nicht mit F5 sondern gehe alles im Einzelschritt mit F8 (jede Zeile!) durch. Dann kannst du genau verfolgen was passiert.
Formular wird geladen: UserForm_Initialize
Wahl eines Listeneintrages:ComboBox1_Click
Einer klickt nicht sondern schreibt:ComboBox1_Change
usw.

Stelli

Code:

Option Explicit

Private Sub ComboBox1_Change()
    ' Text ist das sichbare in der Combobox
    Me.Caption = Me.ComboBox1.Text
End Sub

Private Sub ComboBox1_Click()
    Me.TextBox1.Text = Me.ComboBox1.Text
End Sub

Private Sub CommandButton1_Click()
    ' Rechne einen Wert
    Dim Zahl As Double
    Dim Ergebnis As Double
   
    ' Hole Zahl aus Combobox
    ' In der Combobox ist ein Text
    ' also mit val(Text) in Zahl wandeln
    Zahl = Val(Me.ComboBox1.Text)
    ' oder mit eigener Funktion
    Zahl = d_wert(Me.ComboBox1.Text)
   
    Ergebnis = Zahl * Zahl
   
    ' Ergebnis ausgeben einer Msgbox
    ' Festen Text mit & Variable verknüpfen
    MsgBox "Ergebnis ist: " & Str(Ergebnis), vbInformation
   
End Sub

Private Sub UserForm_Initialize()
    ' Alles löschen in der Liste
    Me.ComboBox1.Clear
    ' Gewünschte Einträge hinzufügen
    Me.ComboBox1.AddItem "100"
    Me.ComboBox1.AddItem "200"
    Me.ComboBox1.AddItem "300"
    Me.ComboBox1.AddItem "400"
    ' Jetzt ist die Form sichtbar
End Sub

Function d_wert(strWert As String) As Double
  Dim strTmp As String  'Temporärstring
  Dim i As Integer      'Hilfsvariable
 
  ' String auf eine Hilfsvariable speichern
  ' damit das Orginal so bleibt
  strTmp = strWert
  ' Suche nach Punkten
  i = InStr(strTmp, ".")
  ' Wenn punkt gefunden
  If i > 0 Then
      ' . gegen , tauschen
      Mid$(strTmp, i, 1) = ","
  End If
  ' Text in Zahl umwandeln
  d_wert = CDbl(strTmp)
   
End Function



------------------
Warum lisp'eln wenn's auch anders geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 29. Sep. 2005 17:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für User-Boris-100 10 Unities + Antwort hilfreich

Hallo Boris,

weisst du was im Programmcode das Objekt "me" ist.
Das ist die aktuelle Form.

Wenn nicht solltest du dir den von nancy empfohlen Link
http://ww3.cad.de/foren/ubb/Forum259/HTML/000725.shtml#000002

mal genau duchlesen.

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz