Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Probleme mit If-Anweisung

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
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Probleme mit If-Anweisung (641 mal gelesen)
Jules_Vernes
Mitglied
Systemadmin


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

Beiträge: 145
Registriert: 04.10.2005

Catia V5R14

erstellt am: 24. Mai. 2006 13:16    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

Folgendes (komisches) Problem
Ich hab eine If-Schleife mit der abfrage x1=x2 Then
.....
End if
jetzt hab ich das mal langsam Durchlaufen und die Werte für x1 und x2 sind identisch aber es wird trotzdem FALSE angezeigt und er geht nicht in die Schleife.
Ich hab x1 und x2 genau gleich deklariert(als DOUBLE). Kann mir jemand sagen an was das liegen könnte??

Merci
Grüsse Jules

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

Tschack
Mitglied



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

Beiträge: 186
Registriert: 29.11.2002

P4 3,0 1 GB
nvidia Geforce 6200V+
Windows XP SP2
IV 9 SP1/IV 10 SP2/IV 11

erstellt am: 24. Mai. 2006 13:35    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 Jules_Vernes 10 Unities + Antwort hilfreich

Hallo Jules Verne,

mit so vielen Informationen können nur Hellseher eine Lösung anbieten. Probier's doch mal in deren Forum.

mfg - Hans

------------------
"WennhinterFliegenFliegenfliegenfliegenFliegenFliegennach"

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

okl
Mitglied
Wirtsch-Ing (Maschbau)


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

Beiträge: 157
Registriert: 21.04.2006

3,6 mHz, 2 GB RAM, NVIDIA Quadro FX 1300, Pro/E Wildfire 3, Win XP Prof SP2, Office, VS 2005, VB 6, VS Express

erstellt am: 24. Mai. 2006 14:16    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 Jules_Vernes 10 Unities + Antwort hilfreich

hallo!

bist du sicher, dass die werte wirklich gleich sind? bis auf die letze nachkommastelle? wenn die berechnet werden, kann das zu unterschieden führen.
poste mal deinen ausschnitt, so dass man ein paar mehr infos bekommt.
okl

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

Jules_Vernes
Mitglied
Systemadmin


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

Beiträge: 145
Registriert: 04.10.2005

Catia V5R14

erstellt am: 24. Mai. 2006 14:35    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 okl,

ich bin mir ziemlich sicher das die Werte gleich sind. Hab sie beide in die Überwachung genommen und überprüft. Ich runde sie ja auch aber es klappt totzdem nicht. Könnte es sein das in der Überwachung nicht alle Nachkommastellen angezeigt werden?
Hintergrund ist ich hole mir Koordinaten von Punkten in CATIA V5.
Das klappt ja auch soweit. Ich dachte daher das dies ein VB-Problem sein könnte.
Im Anhang mein Codeschnipsel.
Gibt es eine Funktion mit der ich z.B. nur 5 Nachkommastellen mitziehen kann?


Grüsse Jules

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

Jules_Vernes
Mitglied
Systemadmin


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

Beiträge: 145
Registriert: 04.10.2005

Catia V5R14

erstellt am: 24. Mai. 2006 14:36    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


Test1.txt

 
sorry hier Anhang

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7545
Registriert: 05.2002.24

erstellt am: 24. Mai. 2006 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 Jules_Vernes 10 Unities + Antwort hilfreich

Interessanter Anhang 

OK, mein Fehler. Hatte ihn direkt geöffnet.

------------------
APeters@BSS-Online.de

[Diese Nachricht wurde von Arne Peters am 24. Mai. 2006 editiert.]

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

okl
Mitglied
Wirtsch-Ing (Maschbau)


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

Beiträge: 157
Registriert: 21.04.2006

3,6 mHz, 2 GB RAM, NVIDIA Quadro FX 1300, Pro/E Wildfire 3, Win XP Prof SP2, Office, VS 2005, VB 6, VS Express

erstellt am: 24. Mai. 2006 17: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 Jules_Vernes 10 Unities + Antwort hilfreich

Hallo Jules,
dim x1, y1 as double bewirkt, dass y1 eine Variable des Typs Double ist und x1 vom Typ Variant. Das könnte das erste Problem sein. Dann verschenkst Du übelsten Speicherplatz durch die einfache Deklaration Dim KOORD1(1), ohne Typenbezeichnung, sprich as irgendwas.
Versuch es erstmal mit der genauen Deklaration der Vars.
Mehr kann dazu im Moment auch noch nicht sagen. Hab leider im Moment zu wenig Zeit, um mich richtig in deinen Code zu lesen.
Zum Runden: Math.Round("Zahl", "Nachkommastellen"), zB x1 = Math.Round(x1, 5): x1 ist mathematisch gerundet auf 5 Stellen hinter dem Komma. Math ist Mitglied von der Library VBA, sollte also auf Deinem Rechner vorhanden sein.
Grüße, okl

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

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



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

Beiträge: 2897
Registriert: 06.07.2001

what i think?
I think, no skill

erstellt am: 24. Mai. 2006 17:48    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 Jules_Vernes 10 Unities + Antwort hilfreich

Die Dim-Definition hat Okl schon erwähnt,

änder deine Dimanweisung in

Dim X1 As Double, Y1 As Double
und es sollte gehen (zumindest bei mir unter VBA wenn die Zahl KOORD1(0) = "1234.1234" übergeben wird)

eventuell auch:

deine X1 und Y1 sind = KOORD1(x)

X2 und Y2 definiertst du als CDbl(KOORD2(x))

möglicherweise könnte da das Problem sein

da:
cdblWert = CDbl("123,04") ' ergibt 123.04
cdblWert = CDbl(123.04)  ' ergibt 123.04
cdblWert = CDbl("123.04") ' ergibt 12304

ist halt die Frage wie sieht das inputformat aus...

[Diese Nachricht wurde von Thomas Harmening am 24. Mai. 2006 editiert.]

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

pablo
Mitglied
Techniker


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

Beiträge: 453
Registriert: 23.01.2002

erstellt am: 25. Mai. 2006 17:36    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 Jules_Vernes 10 Unities + Antwort hilfreich

Jules,

bei Double kann das öfter vorkommen.
Versuch es mal mit
If Abs(x1-x2) < 0.000001 then
....

pablo

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

Jules_Vernes
Mitglied
Systemadmin


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

Beiträge: 145
Registriert: 04.10.2005

Catia V5R14

erstellt am: 27. Mai. 2006 11:38    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

Grützi Zamme

danke für die vielen Antworten.
Hey pablo das mit dem "If Abs(x1-x2) < 0.000001 then" ist ne gute Idee, so müsste es funzen werde es bald versuchen
Ich glaube nämlich das während einer Überwachug einfach nicht alle Stellen angezeigt werden, sonst müsste ja auch die Abfrage klappen.
Ich dachte immer wenn ich z.B. Dim x1,y1 As Double
schreibe das beide als Double deklariert werden, dem ist wohl nicht so.

Noch ein schönes Wochenende
Grüsse Jules

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)2025 CAD.de | Impressum | Datenschutz