Autor |
|
|
Vergleichen von 2 Variablen |
|
|
6 Beiträge - 2-Tasten-am-Tag-Tipper
|
|
|
Hallo,
bin grad fleissig am Programm erstellen, hab aber jetzt folgendes Problem.
ich möchte ein Passwort ändern was ineiner Datei im Klartexe steht.
Es soll aber zuvor das alte passwort eingegeben werden und wenn es richtig ist ein neues eingegeben werden.
ich hab es schon soweit das das eingegebene Passwort und das was in der Datei steht gleich sind, allerdings bekomm ich den Vergleich der Variablen nicht hin. Das Programm springt immer auf ungleich auch wenn die Texte der beiden Variablen identisch sind!
Eingabe "Bitte altes Passwort eingeben!" in [aopwalt] (Passwort)
Lese aus Datei 'Befehleao.vbs' in [aolese] (Zeile 1)
Bearbeite 'Kennwort="leer"' in [vergleich] (Suche nach 'leer', Ersetzen gegen '[aopwalt]')
Wenn Unwahr: '[vergleich]=[aolese]'
Meldung "Passwort ist falsch" (Titel: 'Achtung!', 'OK')
Zurück
Ende Wenn
Wenn Wahr: '[vergleich]=[aolese]'
Eingabe "Bitte neues Passwort für active Operation eingeben!" in [aopwneu] (Passwort)
Bearbeite '[aolese]' in [aoschreibe] (Suche nach '[aopwalt]', Ersetzen gegen '[aopwneu]')
Schreibe in Datei 'Befehleao.vbs' die Zeile '[aoschreibe]' (Zeile 1)
Meldung "Passwort wurde geändert!" (Titel: 'Achtung!', 'OK')
Zurück
Ende Wenn
Die Variable aolese sieht wie folgt aus: 'Kennwort="passwort"
Ich hab schon gelesen das es da Probleme gibt, hat jmd ne idee wie ich das anders machen kann mit Clickexe 2.0?
|
Beitrag vom 16.01.2008 - 14:25 |
|
|
|
click.EXE Team 215 Beiträge - click.EXE Süchtiger
|
 |
|
Hallo Daice,
erstmal willkommen im Forum 
bei Vergleichen , bei denen die Variableninhalte aus Text bestehen, musst du noch die Option "Textvergleich" auswählen :
Wenn Wahr: Textvergleich '[vergleich]=[aolese]'
Man sollte aber eigentlich einen Textvergleich immer so machen :
Wenn Wahr: '("[vergleich]"="[aolese]")'
Diese Variante ist flexibler und man kann auch Sonderzeichen in den Varieblen wie "=" oder "+" usw. vergleichen .
Ich hoffe , ich konnte weiterhelfen
Mfg. Franklin
|
Beitrag vom 16.01.2008 - 15:13 |
|
|
|
6 Beiträge - 2-Tasten-am-Tag-Tipper
|
|
|
Jetzt habe ich es wie folgt...
Eingabe "Bitte altes Passwort für active Operation eingeben!" in [aopwalt] (Passwort)
Lese aus Datei 'Befehleao.vbs' in [aolese] (Zeile 1)
Bearbeite 'Kennwort="leer"' in [vergleich] (Suche nach 'leer', Ersetzen gegen '[aopwalt]')
Schreibe in Datei 'Befehletest.txt' die Zeile '[aolese]' (Anhängen)
Schreibe in Datei 'Befehletest.txt' die Zeile '[vergleich]' (Anhängen)
Wenn Wahr: '("[aolese]")=("[vergleich]")'
Eingabe "Bitte neues Passwort für active Operation eingeben!" in [aopwneu] (Passwort)
Bearbeite '[aolese]' in [aoschreibe] (Suche nach '[aopwalt]', Ersetzen gegen '[aopwneu]')
Schreibe in Datei 'Befehleao.vbs' die Zeile '[aoschreibe]' (Zeile 1)
Meldung "Passwort wurde geändert!" (Titel: 'Achtung!', 'OK')
Zurück
Ende Wenn
Wenn Unwahr: '("[aolese]")=("[vergleich]")'
Meldung "Passwort ist falsch" (Titel: 'Achtung!', 'OK')
Zurück
Ende Wenn
Ende Wenn
Jetzt werde ich immer aufgefordert ein neues Kennwort einzugeben, auch wenn ich als altes Kennwort ein anderes eingeben das das was in der Datei abgespeichert ist.
Noch andere ideen was falsch seien könnte?
Gibt es ne möglichkeit nur das auszulesen was zwischenden "" steht? 'Kennwort="passwort"
|
Beitrag vom 17.01.2008 - 00:04 |
|
|
|
230 Beiträge - nicht heilbarer cX-Junkie ;o)
|
 |
|
du solltest die variablen nicht in klammern schreiben, sondern "Textvergleich" ankreuzen...
oder benutze diese möglichkeit (kein cx2web, da ich mit der ds unterwegs bin):
Eingabe \"Altes Passwort eingeben:\" in [eggpass] (Passwort)
Lese aus Datei \"...\" (Zeile 1, in [altpass])
Bearbeite '[altpass]' (Trennzeichen \", Rechter Teil, Anführungszeichen entfernen, in [altpass])
Wenn Wahr: Textvergleich '\"[altpass]\"=\"[eggpass]\"'
Eingabe \"Neues Passwort eingeben:\" in [neupass] (Passwort)
Schreibe in Datei \"...\" die Zeile 'Kennwort=\"[neupass]\"' (Zeile 1)
Meldung \"Passwort geändert!\" (Info, nur OK)
Sonst
...Befehle, wenn falsch eingegeben...
Ende Wenn
|
cmedia
Der Post wurde 2 mal editiert, zuletzt von cmedia am 17.01.2008 - 13:59.
|
Beitrag vom 17.01.2008 - 13:43 |
|
|
|
904 Beiträge - click.EXE - Fastguru
|
 |
|
Zitat Original geschrieben von daice
...
Wenn Wahr: '(\"[aolese]\")=(\"[vergleich]\")'
...
Wenn Unwahr: '(\"[aolese]\")=(\"[vergleich]\")'
...
|
Die Schreibweise hat einen kleinen Fehler. Der Gesamtvergleich wird in Klammern geschrieben.
Wenn Wahr: '(\"[aolese]\"=\"[vergleich]\")'
@cmedia
Wenn du es schaffst, das so in CX reinzukriegen bist du ein Genie. Deine Schreibweise wird tolle Effekte im Skript produzieren.
Wenn Wahr: Textvergleich '\"[altpass]\"=\"[eggpass]\"' 
Der Post wurde 9 mal editiert, zuletzt von JoDi am 17.01.2008 - 14:26.
|
Beitrag vom 17.01.2008 - 14:08 |
|
|
|
click.EXE Team 215 Beiträge - click.EXE Süchtiger
|
 |
|
Hi,
@cmedia:
Hier mal ein Auszug aus der Hilfe:
Hinweis: Wird vor den Ausdruck in der Bedingung ein Anführungszeichen (") gesetzt, wird ebenfalls ein Textvergleich ausgeführt
Hinweis 2: Statt des Textvergleichs mit dieser Option sollte ein Berechnungsausdruck in Klammern verwendet werden - dies ist übersichtlicher und führt seltener zu Problemen mit Sonderzeichen im Text.
@daice :
Hier mal ein Beispielskript:
:: Start
Eingabe "Bitte altes Passwort eingeben !" in [oldpass]
Lese aus Datei 'pass.txt' in [pass] (Zeile 1)
*** Vergleich des Passwortes mit der Eingabe und der Datei
*** Wenn gleich...
Wenn Wahr: '("[oldpass]"="[pass]")'
Eingabe "Bitte neues Passwort eingeben !" in [newpass]
Schreibe in Datei 'pass.txt' den Text '[newpass]' (erst löschen, ohne Zeilenumbruch)
Meldung "Das Passwort wurde geändert !" (Titel: 'Info', 'OK')
Beende Skript
Sonst
*** Wenn falsch..
Meldung "Das angegebene Passwort ist falsch !¶Nochmal versuchen ?" (Titel: 'Fehler', 'Ja, Nein')
Wenn Wahr: '("[AntwortText]"="Ja")'
GeheZu Start
Sonst
Beende Skript
Ende Wenn
Ende Wenn
Du müstest das Skript also noch an deinen Variablen anpssen und so 
Mfg.Franklin
Der Post wurde 1 mal editiert, zuletzt von Franklin am 17.01.2008 - 14:21.
|
Beitrag vom 17.01.2008 - 14:11 |
|
|
|
230 Beiträge - nicht heilbarer cX-Junkie ;o)
|
 |
|
ich hab mir halt die methode mit dem häkchen in Textvergleich angewöhnt. von den klammern hab ich bis jetzt nix gewusst...
ACHTUNG: Im skript oben von mir ist ein fehler drin:
das trennzeichen im Bearbeite-Befehl muss = sein, nicht " !
cmedia
|
Beitrag vom 17.01.2008 - 16:07 |
|
|
|
230 Beiträge - nicht heilbarer cX-Junkie ;o)
|
 |
|
aso
jetzt kapier ich's:
Wenn Wahr: Textvergleich '\\"[altpass]\\"=\\"[eggpass]\\"' |
oder Wenn Wahr: Textvergleich '(\"[altpass]\"=\"[eggpass]\")' |
na dann!
cmedia
Der Post wurde 2 mal editiert, zuletzt von cmedia am 19.01.2008 - 22:02.
|
Beitrag vom 19.01.2008 - 21:57 |
|