Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2008, 00:53   #21
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Ну я чесное слово вообще понять не могу что происходит
Манжосов Денис :) вне форума Ответить с цитированием
Старый 24.08.2008, 00:55   #22
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Скинь или тут или в личку исходник.Я подправлю.
Уже у самого голова пухнет.Надо спать идти
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 24.08.2008, 00:56   #23
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

блиин, всё я разобрался, ошибка в проекте была, всё спасибо!
Манжосов Денис :) вне форума Ответить с цитированием
Старый 24.08.2008, 00:57   #24
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Ну наконецто!!!
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 24.08.2008, 01:02   #25
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Блин были проблеммы со связью...

Неплохо б проверку на эдит поставить на ввод разрешенных символов например так
Код:
procedure TGenerateForm.Edit_SizePassKeyPress(Sender: TObject; var Key: Char);
begin
 case Key of
        '0'..'9',#8: ;  //цифры и <Backspace>
         else Key:= Char(0); // остальные запрещены
  end;
end;
да и количество символов в пароле нужно ограничить разумным числом...
Gorychev вне форума Ответить с цитированием
Старый 24.08.2008, 01:08   #26
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Каким к примеру? 99 разве много?
К примеру 30? Пускай пользователь я думаю сам вводит.
Манжосов Денис :) вне форума Ответить с цитированием
Старый 24.08.2008, 12:41   #27
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Манжосов Денис без обид, но код написан нелепо.
Поясню свою точку зрения.

1.
Код:
procedure TGenerateForm.FormCreate(Sender: TObject);
begin
Randomize;
 GenerateFile := TStringList.Create;
 BorderIcons := [];
 BorderStyle := bsSingle;
 Caption := 'Генератор';
 Color := RGB(0,150,0);
 Position := poScreenCenter;
 Edit_SizePass.Text := '';
 Edit_SizePass.MaxLength := 2;
 bt_Generate.Caption := 'Генерировать';
 bt_Exit.Caption := 'Закрыть';
 bt_Copy.Caption := 'Копировать пароль';
end;
Зачем писать руками если можно выставить все в инспекторе обьектов.

2.
Код:
GenerateFile := TStringList.Create;
Обьект создали, а уничтожать не надо? Непонятно вообще его назначение? Дописать новую строчку с паролем в текстовой файл можно и не считывая сначала весь файл в TStringList потом добавляя к нему новую строку и записывая обратно.

3. Проверять наличие файла надо и непонятно почему при возможном возникновении исключения вы все равно пытаетесь в файл чтото впихнуть.
Код:
try
   with GenerateFile do
    begin
     LoadFromFile('Generate.txt');
     Add(Label_Password.Caption);
     SaveToFile('Generate.txt');
    end;
   except On EFOpenError do
   GenerateFile.SaveToFile('Generate.txt');
   end;
4. Пароли нужно шифровать.

5. Почему все переменные глобальные?

6. У вас в Edit_SizePassKeyPress при нажатии ENTER вызывается процедура нажатия на кнпоку
Код:
if Key = #13 then bt_GenerateCLick(Sender);
Лучше сделать отдельную процедуру и вызывать ее из Button.Clik и из KeyPress

Надеюсь что все выше сказанное будет адекватно вами воспринято.

ЗЫ существуют стандарт именования обьектов, компонентов, модулей и тд. называется "Угорская нотация именования". Поищите в сети если интересно. Могу скинуть файлик, но на украинской мове.
Gorychev вне форума Ответить с цитированием
Старый 24.08.2008, 12:52   #28
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Ваши пожелания восприняты мной нормально.
Ответы на вопросы:
1. Привык всё писать в OnCreate в инспекторе мне не нравится, мне кажется что так быстрее загружается код, если его самому вставить.
2. Создал там я просто в этом коде строчку удалил, а в норм.версии Free для TStringList есть.
3. Переделаю код.
4. Шифровать не умею.
5. Разве скорость работы программы изменится, если поместить переменные в Private?
6. Сегодня же создам отдельную процедуру и переделаю код.
Спасибо за замечания, но всё же ответьте на мои вопросы, которые я до этого задал(в этом сообщении).
Манжосов Денис :) вне форума Ответить с цитированием
Старый 24.08.2008, 16:38   #29
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
5. Разве скорость работы программы изменится, если поместить переменные в Private?
Private тут не причем.
С точки зрения надежности программы и удобства отладки, лучше пользоваться локальными переменными (которые объявляются внутри функции). Уменьшается расход выделенной памяти под приложение, т.к. локальные пер-ные создаются только на время действия процедуры, а глобальные "живут" в течении всего времени работы программы.
У вас все переменные глобальные (описаны вне функции или процедуры). Ее значение может быть изменено в любой процедуре или ф-ции программы отсюда - значение трудно отследить - программа тяжела в отладке.
Прочитайте главу ~ "Область видимости(действия) переменных" такая глава должна быть в каждом самоучителе по делфи.

Что до инфы о шифровании, такого добра в сети просто завались, от самых простых до сложных алгоритмов,
Когдато шифровал с помощью операции xor..
Gorychev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Random Febreze Общие вопросы Delphi 2 28.04.2008 14:17
random Forrest Gamp Общие вопросы C/C++ 4 11.02.2008 09:46
Random -10 +10 Veiron Общие вопросы Delphi 1 23.01.2008 17:23
Random Constellation БД в Delphi 2 10.01.2008 21:37
random Sanek_ntsk Общие вопросы Delphi 8 17.12.2007 21:54