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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2013, 12:42   #1
Wu-Kid
 
Регистрация: 17.05.2013
Сообщений: 4
По умолчанию Запара с шифровкой=(

Здравствуйте! Ребята профессионалы, помогите чем сможете пожалуйста! При выполнении своей дипломной у меня возникла проблемка, а именно с шифровкой. Проблема заключается в том, что не хочет шифровать буковку "А" в моем тексте для шифровки. Т.е. весь текст до буквы "а" шифрует, а дальше обрывается... Так же смущает что шифрованный текст пишет капсом, но то не такая проблема. Программу я вложил ниже, заранее спасибо!
Вложения
Тип файла: rar Wigenera.rar (11.3 Кб, 11 просмотров)
Wu-Kid вне форума Ответить с цитированием
Старый 17.05.2013, 13:21   #2
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Какие у вас предположения почему не работает?

В коде фарш, прочитайте, оформите нормально.
Armorer вне форума Ответить с цитированием
Старый 18.05.2013, 12:00   #3
Wu-Kid
 
Регистрация: 17.05.2013
Сообщений: 4
По умолчанию

Я конечно понимаю что там может быть не все так как в лучших программах программистов, но я не думаю что бы из-за порядка написания функций возникла вот такая вот проблема с буквой "а". Спасибо за материальчик, буду рыться глубже.
Wu-Kid вне форума Ответить с цитированием
Старый 19.05.2013, 00:12   #4
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Цитата:
но я не думаю что бы из-за порядка написания функций возникла вот такая вот проблема с буквой "а".
Оформлять код необходимо чтобы его было удобно читать. Если код будет такой как сейчас, то вероятность того что кто-то захочет его разбирать и икать ошибку низкая.
Armorer вне форума Ответить с цитированием
Старый 19.05.2013, 18:03   #5
Wu-Kid
 
Регистрация: 17.05.2013
Сообщений: 4
По умолчанию

Понятно.Спасибо, исправлюсь.
Wu-Kid вне форума Ответить с цитированием
Старый 19.05.2013, 18:46   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Armorer, а Ctrl+D гордость нажать не позволяет?
ТС,
Теперь должно нормально работать.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  obr: string;
  gr: integer;
begin
  if memo1.Text = '' then
  begin
    Timer1.Enabled := True;
    showmessage('Введите текст для шифровки');
    abort;
  end;
  if edit1.Text = '' then
  begin
    showmessage('Введите текст ключа');
    abort;
  end;
  memo1.Text := StringReplace(Memo1.Text, 'ё', 'е', [rfReplaceAll]);
  memo1.Text := StringReplace(Memo1.Text, 'Ё', 'Е', [rfReplaceAll]);
  memo2.Text := Viz_Crypt(memo1.Text, edit1.Text);
  obr := memo2.text;
  gr := 1;
  while gr < length(obr) do
  begin
    gr := gr + 7;
    insert(' ', obr, gr);
  end;
  memo2.Text := ansiuppercase(obr);
  Timer1.Enabled := False;
  ShowMessage('Код выполнялся (мс): ' + IntToStr(i));
end;
Лень разбираться что и как работает.
Скиньте поверочный результат, т.е.
Текст для шифрования, код шифрования, и каким должен быть правильный результат

И время работы кода измеряет по другому:
Код:
var
  tStart, tEnd: DWORD;

begin
  tStart := GetTickCount;
  {
  <Код, время работы которого измеряется>
  }
  tEnd := GetTickCount - tStart;
end;
Таймер чуть ли не на секунду опаздывает.

Последний раз редактировалось Человек_Борща; 19.05.2013 в 18:57.
Человек_Борща вне форума Ответить с цитированием
Старый 20.05.2013, 17:19   #7
Wu-Kid
 
Регистрация: 17.05.2013
Сообщений: 4
По умолчанию

Простите, но что дает нажатие Ctrl+D я так и не понял... А на счет проблемы, то она так и осталась=( Спасибо большое за отклик, будем переписывать код по строчке пока не выявлю причину проблемы. Ещё раз спасибо за отзывчивость!
Wu-Kid вне форума Ответить с цитированием
Старый 20.05.2013, 17:31   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
что дает нажатие Ctrl+D я так и не понял
В Delphi, начиная с 2010 (может быть и раньше, не знаю точно), приводит к автоматическому форматированию кода.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 22.05.2013, 10:52   #9
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Armorer, а Ctrl+D гордость нажать не позволяет?
Автоматическое форматирование, к сожалению, не заменяет ручного, например, оно не расставит переводы строк, чтобы логически отделить части метода, не исправит регистр у стандартных функций (ansiuppercase на AnsiUpperCase), а при некоторых конструкциях вообще форматирует неправильно (D2010, не связанно с настройками). Это не говоря о том что исходник можно не в delphi просматривать. Поэтому полезнее объяснить зачем форматировать код, чем молча нажимать ctrl+d.
Armorer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запара с TListView The SCS Компоненты Delphi 3 29.03.2012 21:05
Снова с парсингом запара. Den7656 Общие вопросы Delphi 6 16.11.2011 10:51
Запара с прогой tol1k JavaScript, Ajax 2 14.03.2011 10:07
Запара с задачей.. Locfen Помощь студентам 3 03.03.2011 18:18
Запара с excel hunter03 Помощь студентам 2 11.11.2010 17:30