ďťż

Ładny brzuch

mam taki kod

procedure TForm1.Button1Click(Sender: TObject); begin      if Edit1.Text := 'delphi' then begin      form2.showmodal;      else      ShowMessage('nie!);      end; end;

kompilator wywala mi takie błędy:

[Error] Unit1.pas(31): Type of expression must be BOOLEAN
[Error] Unit1.pas(33): ';' not allowed before 'ELSE'
[Error] Unit1.pas(34): Unterminated string
[Error] Unit1.pas(35): ')' expected but 'END' found
[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas

CZEMU?
To w takim razie jak zrobić program na hasło?
Albo jak używać PasswordDlg czy jakoś tak, bo też nie wiem...

ergh, machnąłem się o ten dwukropek na górze...
Użytkownik siem edytował ten post 11 kwiecień 2005, 12:07


Poducz się trochę ;)procedure TForm1.Button1Click(Sender: TObject); begin     if Edit1.Text = 'delphi' then     form2.showmodal     else     ShowMessage('nie!'); end;
Użytkownik Cyrkiel edytował ten post 10 kwiecień 2005, 09:45
Tak powinno byc dobrze
procedure TForm1.Button1Click(Sender: TObject); begin      if Edit1.Text = 'delphi' then begin      form2.showmodal      else      ShowMessage('nie!); end;


Tak powinno byc dobrze
procedure TForm1.Button1Click(Sender: TObject); begin      if Edit1.Text = 'delphi' then begin      form2.showmodal      else      ShowMessage('nie!); end;



Na razie tylko ja mam dobrze ;)

logika: albo dajesz begin to musisz dac end przed else, albo nie (jak jest jedna instrukcja to nie trzeba.). No i bez srednikow przed else!

Hmm zastosowanie zwykłego porównania if ... then nic nieda ponieważ debugowanie programu w ASM da kod przypominający: czy Edit1.text jest równy 'Delphi' jeśli tak to ... jeśli nie to ... . Do zabespieczania programu hasłem najlepiej używac funkcji / procedur wspólnych dla kilku elementów programu ( a swoją drogą bo co zabezpieczać program jak i tak to ominą lepiej ograniczyć funkcjonalność ). ;)
Użytkownik Kikiz edytował ten post 10 kwiecień 2005, 11:17
mysle ze siem zaczyna z programowaniem i na poczatek to mu wystarczy

showmesage(' NIE!'); jeszcze :)

Ja tam zabezpieczenie programu zrobiłem troche inaczej:
- przy pierwszym ureuchomieniu proga, tworzył plik o losowej nazwie i ta nazwe głeboko sobie zapisywał.
- zawartośc pliku to było własnie hasło tyletylko ze zaszyfrowane algorytmem IDEA.
- jesli program miał właczone zabezpieczenie, przy kazdym wpisaniu hasła dobrym lub złym, program usuwał plik i tworzył nowy, inny gdzie indziej.

Może i mało skuteczne, ale komu by sie chciało łamac hasła do moich programów :lol:
Użytkownik programista1101 edytował ten post 10 kwiecień 2005, 11:25

Może i mało skuteczne, ale komu by sie chciało łamac hasła do moich programów
Ja też napisałem banalny i po dwóch tygodniach na osoiłku już keygen sobie do niego ściągnełem :D
Użytkownik johans edytował ten post 10 kwiecień 2005, 11:38
Utworz nową aplikacje, nastepnie dodaj forme, wyswietl zwartosc pliku, który zawiera program główny [project ==> viev source] i zablokuj instrukcje tworząca drugi formularz:
program project1; uses  Forms,  Unit1 in 'Unit1.pas' {Form1},  Unit2 in 'Unit2.pas' {Form2}, {$R *.res} begin  Application.Initialize;  Application.CreateForm(TForm, Form1);  aPPLICATION.rUN end.

Po zmianie w programie głównym wyświetl pierwszą forme i w procedurze obsługi zdarzenia "FormCreate" wpiesz instrukcje:

Form2:=TForm2.Create(Application); Form2.ShowModal;

Następnie wyświetl drugą forme, wstaw na nią LAbela i edita i buttona. W module "Unit2" zadeklaruj zmienną glabalną o nazwie zamknij typu boolean:
var  zamknij:boolean;
Do edita przypisz własciwośći "PasswordChar
Następnie w procedurze obsługi znarzenia "onclick" buttona wpisz instrukcje:
if Edit1.text='jakistext' then begin  Form1.show;  zamknij:=true;  Form2.Close;  end  else Label1.caption:='zle haslo!'; end;
Mozna jeszcze wtawic dwie procedury obsługujące zdzraenia "OnCloseQuery" i "OnCreate" dla drugiej formy[1 proceduray uniemożliwiają zamknięcie okna z hasłem bez wpisania prawidłowego hasła i naciśnięcia przycisku.
"OnCloseQuery"
CanClose:=zamknij;
"OnCreate"
zamknij:=false;

Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P


Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P


Ale czy ty nie wiesz, że nie ma idelanego zabezpieczenia ?

Czytaj to co wcześniej napisałem potem krytykuj. ;) :P


...a swoją drogą bo co zabezpieczać program jak i tak to ominą lepiej ograniczyć funkcjonalność...

A co do zabezpieczeń to masz pełną racje niema idealnego ale można by nieco bardziej utrudnić życie cracker'owi wykozystując hashowanie nie string ( wystarczy otworzyć zwykłym hex-edytorem by zobaczyć tekst zapisany w string, a widząc plątanine cyferek i liczb nieodrazu idzie się domyśleć, że to właśnie hasło :) ) , gmatwaniem kodu a nie prostym porównaniem if ... then itd. itp. :)
Użytkownik Kikiz edytował ten post 10 kwiecień 2005, 14:48

Debugujesz program przeskakujesz do momętu tworzenia formy ( TForm2.Create(...); )
blokujesz kod w pamięci do ( From2.ShowModal ) i twój trud idzie na marne ( max 15 min zabawy ). :P

15 minut to zdecydowanie za dużo :P

Niekażdy musi mieć dostęp do odpowiedniego softu mnie się debugerem delphi udało przejsc do odopiedniego miejsca w 2 min ale cuż ja znam kod programu cracker niekoniecznie.


Niekażdy musi mieć dostęp do odpowiedniego softu mnie się debugerem delphi udało przejsc do odopiedniego miejsca w 2 min ale cuż ja znam kod programu cracker niekoniecznie.
Może się trochę pomyliłem, sam w crackowaniu już trochę siedzę ;) RESPECT B)

Hmm. Siem, faktycznie przydałoby Ci się troszku poduczyć. Ale najbardziej zaskoczyło mnie to, że nikt Cie nie wyśmiał, nie zjechał. Oczywiście tak powinno być, ale jak się chodzi po innych forach to widać jak każdy w każdego mięskiem :] Widać, że na forum eksperta kultura panuje :) I dobrze. Być może przez te odpowiedzi człowiek się nie zniechęci do programowania i zostanie drugim Gates'em ^_^


Hmm. Siem, faktycznie przydałoby Ci się troszku poduczyć. Ale najbardziej zaskoczyło mnie to, że nikt Cie nie wyśmiał, nie zjechał. Oczywiście tak powinno być, ale jak się chodzi po innych forach to widać jak każdy w każdego mięskiem :] Widać, że na forum eksperta kultura panuje :) I dobrze. Być może przez te odpowiedzi człowiek się nie zniechęci do programowania i zostanie drugim Gates'em  ^_^

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •