Forum | | | | - page 1 - |
| Andre Hilprecht | Hi, brauche la fois wieder Aider. Habe dans mon Prog une Adminbereich qui seulement sur un einzugebendes Mot de passe trop erreichen son soll. Funzt aussi alles bestens - seulement je voudrais maintenant encore erreichen cela aussi im Éditer-champ pour qui Passworteingabe qui ***** (Sternchen) et pas cela Mot de passe dans Reinschrift erscheinen. Habe ici déjà gesucht mais nix passendes trouvé.
Salut André |
| | | Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 12.06.2006 ▲ |
| |
| | | | | - page 2 - |
| Rolf Koch | entweder Du klickst sur Ausführliche Antwort écrivons et la hâte là qui Formatierungsoptionen ou bien tu mets es sans qui Leerzeichen entre dem code (seulement avec cela es ici dargestellt wird): [c o d e]ici qui code[/c o d e] |
| | | | |
| | Jörg Sellmeyer | Andre Hilprecht
cela verstehe je, alles bien sûr. peut-être brauchte Je l' le détour sur GetText$(Pass%) pas aller, weil mon Mot de passe ne...aucune mot mais une numéro ist.
quoi d'autre, comment bekommt son den Programmcode ici dans so un la fenêtre, sieht besser aus et je muss bestimmt la fois wieder un paire Zeilen Quellcode posten?
Salut André
c'est ne...aucune le détour mais qui einzige Possibilité à den Text trop venons - égal si Text ou bien numéro. Pass% contient seulement cela Handle zum Editcontrol. si Vous numéro la hâte et weiterverwenden veux, darfst Du pas oublier qc vous avec Val(GetText$(Pass%)) dans une numerischen Wert trop verwandeln.
Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.06.2006 ▲ |
| |
| | | | | | | |
| | Andre Hilprecht | Hm, vous faites mir justement bien sûr, cela quelque chose pas allez, quoi chez mir mais funzt ??!!?? alors mon partie sieht maintenant so aus: KompilierenMarqueSéparationText% = @Create(Text,D%,Bitte Programmpasswort eingeben:,20,20,300,20)
Pass% = @Create(Edit,D%,, 20, 50,200,-30)
Font% = @Create(Font,Sans Serif,24,0,0,0,0)
SetFont Pass%, Font%
sendmessage(Pass%,204,ord(*),0)
OK% = @Create(DefButton,D%,OK, 20,140, 140,30)
CANCEL% = @Create(DefButton,D%,Abbruch,180,140,140,30)
@SetFocus(Pass%)
F% = 0
WhileNot F%
WaitInput
If Clicked(OK%)
Pass$ = @GetText$(Pass%)
If Pass$=0000
DestroyWindow(OK%)
F% = 1
DestroyWindow(D%)
Client
ElseIf Pass$ <> 0000
Text1% = @Create(Text,D%,Das Passwort ist leider,20,200,140,20)
Text2% = @Create(Text,D%,F A L S C H ! !,60,220,140,20)
EnableWindow Text%,0
EnableWindow Pass%,0
EnableWindow OK%,0
EnableWindow CANCEL%,0
SLEEP 2500
F% = 1
DestroyWindow(D%)
EndIf
ElseIf @Clicked(CANCEL%)
F% = 1
DestroyWindow(D%)
EndIf
Endwhile
et es funzt maintenant wunschgemäß.
merci Euch allen, jusqu'à zum prochain Denkanstoß Salut AndrĂ© |
| | | Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 13.06.2006 ▲ |
| |
| | | tu fais es doch so, comment wir schrieben KompilierenMarqueSéparation Pass% ist qui ID vom Éditer Pass$ ist qui Stringvariable wohin qui Text gespeichert volonté soll |
| | | | |
| | | | - page 3 - |
| | Andre Hilprecht | la hâte droite, stimmt, cela musste je einbauen weil IMMER qui annonce kam; cela Mot de passe ist malheureusement faux! So funzt jetz jedenfalls mon Mot de passe-Abfrage wunschgemäß et Sternchen.
|
| | | Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen
XProfan X2, Win8 Pro 64bit Update von Win7 i5 / 3,2GHz 4 GB RAM Treibstoff: Radeberger Pils | 13.06.2006 ▲ |
| |
| | Michael Wodrich | Mir sommes encore un paire Dinge aufgefallen:
Button: Es sollte seulement un DefButton eingesetzt volonté, reste ist Button. qui Grund: Def steht pour Default (Vorgabe). ca ist alors qui vorgewählte Button.
DestroyWindow(Ok%) - pas nötig. si Du den Dialog löscht, aller qui daraufliegenden Controls freiwillig avec...
Überhaupt peux Du qui ganzen DestroyWindow() sur 1 réduire. Gebe simple qui Variablen F% la valeur 2 si cela Mot de passe stimmt. ensuite peux Du derrière qui Tandis que-Boucle den DestroyWindow mettons et Cas F% = 2: Client den Programmteil appel.
belle Grüße Michael Wodrich (aussi Jahrgang 60) |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.06.2006 ▲ |
| |
| | Pedro Santos | allô
comment déjà Pascal erwähnt Sendmessages bieten une la quantité Opportunités Wäre une gute concept ici dans qui Communty un Container trop schafen wohin Sendmessages avec Beschreibung quoi es bewirkt abgelegt volonté. justement pour Einsteiger ist cela un Segen
Gruss
Pedro |
| | | | |
| | | @Petro cela wird chez qui numéro à Messages, qui il y a un schwieriges Unterfangen Alleine qui Messages pour RichEdit würden ici Seiten füllen. Pour Windows Allgemein wird cela alors à peine aller. mais peut-être hat iF hierzu ne concept, weil grundsätzlich sollte là quoi possible son. |
| | | | |
| | Nico Madysa | on pourrait dans qui Online-Doku un le chapitre Messages anlegen. |
| | | | |
| | | Nunja je pourrait nen MessagesPool erfinden - alle Headerfiles de XProfan comme Datenbasis einspeisen - et un leichtes fouiller ermöglichen.
@Nico: dans qui ODoku gibt es bereits Sheets avec Messages. |
| | | | |
| | | allô Andre ici ist qui versprochene Text. Bestimmt peux il amélioré volonté. Daher venez il dans qui Community KompilierenMarqueSéparationDECLARE pfad$,programm$,vers$,txt$,PW_datei$
pfad$=GETDIR$(@)
programm$=Beispiel
vers$=1.0
DECLARE txt%,tip%,I%
DECLARE font0%,font1%,font2%
font0%=CREATE(FONT,ARIAL,14,0,0,0,0)
font1%=CREATE(FONT,COMIC SANS MS,18,0,1,0,0)
font2%=CREATE(FONT,ARIAL,16,6,0,0,0)
PROC MASTER_PASS
PROC CODE_PLUS
PARAMETERS In$
DECLARE Out$
Clear Out$
WHILELOOP 1, @Len(In$), 3
Out$ = Out$ + @Chr$(@Ord(
@Mid$(In$, &Loop, 1)) / 4 + 32)
Out$ = Out$ + @Chr$((@Ord(
@Mid$(In$, &Loop, 1)) MOD 4) * 16 +
@Ord(@Mid$(In$, &Loop + 1, 1)) / 16 + 32)
Out$ = Out$ + @Chr$((@Ord(
@Mid$(In$, &Loop + 1, 1)) MOD 16) * 4 +
@Ord(@Mid$(In$, &Loop + 2, 1)) / 64 + 32)
Out$ = Out$ + @Chr$(@Ord(
@Mid$(In$, &Loop + 2, 1)) MOD 64 + 32)
ENDWHILE
RETURN Out$
Die VerschlĂĽsselung stammt aus PROFAN - Du kannst aber damit experimentieren.
Vorsicht - Sicherung anlegen - Dann ändere mal hier die Zahlen 32 auf 64 !
ENDPROC
-----------------------------------------------------------------------------------------
DECLARE P_win&,P_EE%,P_ende%,P_OK%,P_start%
DECLARE PW_datei$,master$,master%,meldung$,txt_off$,txt_on$
-----------------------------------------------------------------------------------------
DIE BEIDEN ANGABEN MĂśSSEN HIER STEHEN !!!
PW_datei$=beispiel.pw$ der Name ist frei wählbar
PW_datei$=pfad$+\+PW_datei$ auch der Platz ist frei (Du kannst die Datei z. B. in
C:Windows/System verstecken - Profan-Befehl: $SysPath
Hier wird eine Passwortdatei in dem Verzeichnis abgelegt, in dem auch dieser Text steht.
Der Name ist BEISPIEL.PW$ kann aber frei gewählt werden. Muss aber immer hier stehen
damit das Programm die Datei findet. Das Passwort ist verschlĂĽsselt. Schau Dir mal mit
einem Editor die Datei an.
-----------------------------------------------------------------------------------------
IF FILEEXISTS(PW_datei$) ist ein Passwort vorhanden ?
DECLARE plus_on%,plus_on$
I%=0
ASSIGN #1,PW_datei$
RESET #1
INPUT #1,master$
CLOSE #1
meldung$=Geben Sie hier das Master-Passwort ein - Bestätigen Sie mit der ENTER-Taste oder klicken Sie auf das Häkchen
P_win&=CREATE(DIALOG,%HWnd, +programm$+vers$+ Master-Passwort,SUB(DIV(%MaxX,2),150),SUB(DIV(%MaxY,2),100),300,200)
txt%=CREATE(TEXT,P_win&,meldung$,15,5,270,60)
SetFont txt%,font1%
plus_on%=CREATE(EDIT,P_win&,plus_on$,20,75,200,-20)
SetFont plus_on%,font1%
P_OK%=CREATE(BUTTON,P_win&,OK,235,70,35,25)
SetFont P_OK%,font0%
tip%=CREATE(TOOLTIP,p_win&,P_OK%,Master-Passwort bestätigen)
SetFont tip%,font0%
P_ende%=CREATE(BUTTON,P_win&,Ende,20,120,80,25)
SetFont P_endE%,font0%
tip%=CREATE(TOOLTIP,p_win&,P_ende%,Programm verlassen)
SetFont tip%,font0%
txt%=CREATE(TEXT,P_win&,Versuch 0 / 3,200,130,200,20)
SetFont txt%,font0%
SetFocus(plus_on%)
P_EE%=0
WhileNot P_EE%
WAITINPUT
If GetFocus(P_ende%)
P_EE%=1
DesTroyWindow(P_win&)
END
ENDIF
IF OR(SCanKey(13),GetFocus(P_OK%))
INC I%
plus_on$=GETTEXT$(plus_on%)
plus_on$=UPPER$(plus_on$)
txt_on$=CODE_PLUS(plus_on$)
If txt_on$=master$
P_EE%=1
DesTroyWindow(P_win&)
MessageBox(Das war richtig !,OK,64) Hier wĂĽrde der Zugang zum gesperrten Programm sein
EndIf
IfNOT txt_on$=master$
plus_on$=
SetText plus_on%,plus_on$
SetFocus(plus_on%)
txt%=CREATE(TEXT,P_win&,STR$(I%),245,130,8,20)
SetFont txt%,font0%
IF GT(I%,2)
P_EE%=1
DesTroyWindow(P_win&)
END nach der 3. Falscheingabe ist Ende
ENDIF
EndIf
ENDIF
WEND
ENDIF
---------------------------------
IFNOT FILEEXISTS(PW_datei$) Keine Passwort-Datei vorhanden
programm$=UPPER$(programm$)
txt$= +programm$+vers$+ Master-Passwort...
meldung$=Das Programm ist nicht gesichert ! - Trotzdem die Daten verschlĂĽsselt werden,
hat jeder Zugriff ! Geben Sie ein MASTER-PASSWORT ein, welches nur Sie kennen. Danach
ist der Zugang zu +programm$+ gesichert. Das Wort kann innerhalb des Programmes
später geändert werden
P_win&=CREATE(DIALOG,%HWnd,txt$,SUB(DIV(%MaxX,2),200),SUB(DIV(%MaxY,2),100),400,200)
txt%=CREATE(TEXT,P_win&,meldung$,10,5,380,60)
SetFont txt%,font0%
master%=CREATE(EDIT,P_win&,master$,10,72,170,-25)
sendmessage(master%,204,ord(*),0)Tipp aus der Community ;o)
SetFont master%,font1% lässt Du das weg, bekommst Du schöne grosse Sternchen !
P_start%=CREATE(BUTTON,P_win&,OHNE Passwort starten...,10,125,200,25)
SetFont P_start%,font0%
tip%=CREATE(TOOLTIP,p_win&,P_start%,OHNE Master-Passwort...)
SetFont tip%,font0%
P_OK%=CREATE(BUTTON,P_win&,Passwort erzeugen und speichern,190,72,190,25)
SetFont P_OK%,font0%
tip%=CREATE(TOOLTIP,P_win&,P_OK%,Master-Passwort speichern)
SetFont tip%,font0%
P_ende%=CREATE(BUTTON,P_win&,Ende,300,125,80,25)
SetFont P_ende%,font0%
tip%=CREATE(TOOLTIP,P_win&,P_ende%,Beenden)
SetFont tip%,font0%
SetFocus(master%)
P_EE%=0
WhileNot P_EE%
WAITINPUT
Case IsKey(13):SetFocus(master%)
IF GetFocus(P_ende%)
P_EE%=1
END
ENDIF
IF GetFocus(P_start%)
P_EE%=1
DesTroyWindow(P_win&)
MessageBox(Zugang OHNE Passwort,OK,64)
END
ENDIF
IF GetFocus(P_OK%)
master$=GETTEXT$(master%)
master$=UPPER$(master$)
master$=CODE_PLUS(master$)
ASSIGN #1,PW_datei$
REWRITE #1
PRINT #1,master$
CLOSE #1
---------------------------------------------------
ASSIGN #2,PW_datei$
SetFAttr #2,$02 Datei-Attribut: Versteckt
---------------------------------------------------
Im Moment auskommentiert. Im fertigen Programm die beiden Programmzeilen aktivieren
P_EE%=1
DesTroyWindow(P_win&)
MessageBox(Zugang mit neuem Passwort. Danach ist der Zugang nur mit Passwort möglich,OK,64)
END
ENDIF
CASE IsKey(13):SetFocus(master%)
WEND
ENDIF
ENDPROC
########################################################################
MASTER_PASS
|
| | | | |
|
répondreOptions du sujet | 4.976 Views |
Themeninformationencet Thema hat 11 participant: |