Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Daten von einem Sub an ein anderes weitergeben

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
Autor Thema:  Daten von einem Sub an ein anderes weitergeben (1142 mal gelesen)
PhilippNr1
Mitglied
Konstrukteur

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

Beiträge: 4
Registriert: 18.08.2014

erstellt am: 04. Dez. 2014 15:32    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

Hallo zusammen,

ich hab mal ne Frage zum Übergeben von Strings vom einen Sub in ein anderes. In dem Programm an dem ich arbeite gibt es ein Sub, das eine Kollisionsanalyse durchführt und ein weiteres, das die Kollisionsanalyse wieder löscht.
Provisorisch habe ich im zweiten Sub eine weitere Kollisionsanalyse eingebaut um Kollisionen zu erhalten, da ich es noch nicht hinbekommen habe den String "Bericht" zu übergeben.
Kann mir hier vielleicht jemand weiterhelfen?

Grüße, Philipp

Code:

'-----------------------
'Bereich Analyse -> Button Kollisionanalyse
'-----------------------

Private Sub Clash_Button_Click()

'Aktion wird nur ausgeführt, wenn die richtige Datei in CATIA geöffnet ist
If CATIA.ActiveDocument.FullName = "Truck_Konfiguration.CATProduct" Then
   
    GUI_Main.Enabled = False
    'Status aktualisieren
    Label_Status.Caption = "Working - Kollisionsanalyse wird durchgeführt"
   
    Dim Bericht() As String
   
    'Kollisionsanalyse mit Einfärben der Bauteile durchführen
    Bericht = Analyse.Clash(1)
   
   
    'Berichtdatei abarbeiten und in GUI_Result darstellen:
   
    'GUI_Result zurücksetzen
    GUI_Result.ListBox_Ergebnis.Clear
    GUI_Result.ListBox_Ergebnis.ColumnCount = 1
    GUI_Result.Label_Info.Caption = "Kollisionen:"
   
    'Daten aus der Berichtdatei in GUI_Result schreiben
    Dim I As Integer
    I = 0
   
    Do While Bericht(I, 0) <> ""
       
        GUI_Result.ListBox_Ergebnis.AddItem ((I + 1) & ": " & Bericht(I, 0) & " & " & Bericht(I, 2))
        I = I + 1
    Loop
   
    If I = 0 Then
        GUI_Result.ListBox_Ergebnis.AddItem "Keine Kollisionen"
    End If
   

    'Status aktualisieren
    Label_Status.Caption = ""
   
    'GUI_Result anzeigen
    GUI_Result.Show
    GUI_Main.Enabled = True
   
Else
    MsgBox "Die Fahrzeugkonfiguration muss zuerst aktiviert werden!"
End If

End Sub



Code:

'-----------------------
'Bereich Analyse -> Button Kollisionanalyse entfernen
'-----------------------

Private Sub ClashDelete_Button_Click()
    Dim I As Integer
    Dim Bericht() As String
   
    'Status aktualisieren
    Label_Status.Caption = "Kollisionen werden entfernt"
   
    'Farbton der Kollisionsteile auf Default zurücksetzen
    Bericht = Analyse.Clash(0)
    I = 0
Do While Bericht(I, 0) <> ""
   
    Dim Farbezurücksetzen As Selection
    Set Farbezurücksetzen = CATIA.ActiveDocument.Selection
    Farbezurücksetzen.Clear

    Dim Komponente As String
    Komponente = Bericht(I, 0)
    Farbezurücksetzen.Search "Name='" & Komponente & "';Alle"
    Farbezurücksetzen.VisProperties.SetRealColor 210, 210, 255, 1
    Farbezurücksetzen.Clear
   
    Komponente = Bericht(I, 2)
    Farbezurücksetzen.Search "Name='" & Komponente & "';Alle"
    Farbezurücksetzen.VisProperties.SetRealColor 210, 210, 255, 1
    Farbezurücksetzen.Clear
   
    I = I + 1
Loop
   
    'Kollision aus Strutkturbaum entfernen
    Set Selektion = CATIA.ActiveDocument.Selection
        Selektion.Clear
        Selektion.Search "Name=*Kollision.*;all"
        Dim oprod As Product
        Set oprod = CATIA.ActiveDocument.Product
        Set TheClashes = oprod.GetTechnologicalObject("Clashes")
       
        For I = 1 To Selektion.Count
            TheClashes.Remove (Selektion.Item(I).Value.Name)
        Next
    'Status aktualisieren
    Label_Status.Caption = ""


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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

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: 04. Dez. 2014 15:40    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 PhilippNr1 10 Unities + Antwort hilfreich

Code:

Sub Anfang()

  Dim strBlah as string

  strBlah = "So geht es bestimmt!"
  Ausgabe(strBlah)

End Sub

Sub Ausgabe(ByVal Übergabestring as string)
  msgbox(Übergabestring)
End Sub


Sollte als Beispiel reichen 

------------------
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

PhilippNr1
Mitglied
Konstrukteur

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

Beiträge: 4
Registriert: 18.08.2014

erstellt am: 04. Dez. 2014 16:02    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

Dank für die schnelle Antwort!
Hat leider noch nicht ganz geklappt, weil beide Subs mit Button_Click aktiviert werden sollen.
Ich habs gerade so in der Art probiert, da kam aber ein Complie Error

Code:

Private Sub Button1_Click()

  Dim strBlah as string

  strBlah = "So geht es bestimmt!"
  Sub_Button2_Click(strBlah)

End Sub

Private Sub Button2_Click(ByVal Übergabestring as string)
  msgbox(Übergabestring)
End Sub
 


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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

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: 04. Dez. 2014 17:02    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 PhilippNr1 10 Unities + Antwort hilfreich

Code:

Public strBlah as string

Private Sub Button1_Click()

  strBlah = "So geht es bestimmt!"
  Sub_Button2_Click(strBlah)

End Sub

Private Sub Button2_Click()
  msgbox(strblah)
End Sub


------------------
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

PhilippNr1
Mitglied
Konstrukteur

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

Beiträge: 4
Registriert: 18.08.2014

erstellt am: 04. Dez. 2014 17:56    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

Hat leider nicht geklappt.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Dez. 2014 18:05    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 PhilippNr1 10 Unities + Antwort hilfreich

Servus
Du solltest dich mal in die Grundlagen von VB(A) einarbeiten.
Kleine Korrektur in Ricks Code:
Code:
Sub_Button2_Click(strBlah)
Gruß
Bernd

PS: Bitte Systeminfo ausfüllen.

------------------
Warum einfach, wenn es auch kompliziert 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