Форум: "Прочее";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
ВнизFPC падает при работе со строками Найти похожие ветки
← →
@!!ex © (2008-04-09 22:25) [0]
Procedure initialize8(Var trans : Array Of String);
Var
c1, c2, c3, c4, c5, c6, c7, c8 : integer;
x : String;
g : char;
Begin
For c1 := 0 To 1 Do
For c2 := 0 To 1 Do
For c3 := 0 To 1 Do
For c4 := 0 To 1 Do
For c5 := 0 To 1 Do
For c6 := 0 To 1 Do
For c7 := 0 To 1 Do
For c8 := 0 To 1 Do
Begin
x := "";
x := inttostr(c1) + inttostr(c2) + inttostr(c3) + inttostr(c4) + inttostr(c5) + inttostr(c6) + inttostr(c7) + inttostr(c8);
zeronetochar8(g, x);
trans[ord(g)] := x;
End;
End;
Падает при первом обращении к x.
Независимо от того, что это за обращение.
Ставил SetLength, переносил обнулении строчки после всех операций - это не важно. Все равно падает на первой же операции.
← →
ага (2008-04-09 22:30) [1]
> @!!ex © (09.04.08 22:25)
Изумительная процедура. Шедевр. Можно на стену рядышком с IncDay повесить
← →
DVM © (2008-04-09 22:32) [2]
> @!!ex © (09.04.08 22:25)
что за ерунда?
← →
ага (2008-04-09 22:33) [3]
> DVM © (09.04.08 22:32) [2]
>
>
> > @!!ex © (09.04.08 22:25)
>
> что за ерунда?
http://www.ds16.agh.edu.pl/~hue/uj/tao-smith_normal_form/files/FGInt.pas.txt
← →
Игорь Шевченко © (2008-04-09 22:34) [4]Вроде как целый форум есть по FreePascal - давай туда
← →
Rouse_ © (2008-04-09 22:34) [5]:))) однако мощно задвинуто :)
← →
@!!ex © (2008-04-09 22:39) [6]> [1] ага (09.04.08 22:30)
> [2] DVM © (09.04.08 22:32)
некий модуль для шифрования, называется FGINT.
Даден мне в качестве модуля для шифровки данных, коие надо от юзера скрыть.
В помощью этого модуля шифруется информация об игроке, чтобы не читерствовали.
До сегодняшнего дня я в него не заглядывал, ибо на Дельфе работает как должно.
← →
Rouse_ © (2008-04-09 22:44) [7]Эмм... так попробуй DCCrypt - фришный, с исходниками и вроде как под FPC заточен...
← →
@!!ex © (2008-04-09 22:44) [8]> [4] Игорь Шевченко © (09.04.08 22:34)
Да там никто не появляется, сообщения неделями висят пустые.
← →
@!!ex © (2008-04-09 22:47) [9]> [7] Rouse_ © (09.04.08 22:44)
У нас "стандарт", этой же ерундовиной шифруются сообщения при отсылке на сервер. ТАк что от нее все равно не отделатся.
← →
DVM © (2008-04-09 22:52) [10]
> ТАк что от нее все равно не отделатся.
От этой жуткой лестницы из циклов избавься тогда что ли.
← →
@!!ex © (2008-04-09 23:00) [11]Если убрать обнуление строки, то все работает...
← →
@!!ex © (2008-04-09 23:04) [12]Учитывая, что обнуление там нафиг не нужно...
Это оказалось решением проблемы.
> [10] DVM © (09.04.08 22:52)
Прибегает сын(С) к своему отцу программисту(П):
(С)-Папа! Папа! Я видел! На востоке солнце встает!
(П)-Точно встает?
(С)-Точно!
(П)-Всегда на Востоке?
(С)-Да!
(П)-Ты хорошенько проверил?
(С)-Да! Да!
(П)-Ну и отлично! Больше ничего не трогай!
(С) Старый анекдот
← →
Rouse_ © (2008-04-09 23:05) [13]Эта, ну раз стандарт - так сделай билиотеку на Дельфи, на нем как я понял не палает, и пропускай данные через нее...
← →
ferr (2008-04-09 23:12) [14]аффтар убейся а.
либо фор от 0 до 255 и смотреть на биты, либо рекурсивно.. но не это же а..
← →
@!!ex © (2008-04-09 23:15) [15]> [14] ferr (09.04.08 23:12)
Не ко мне претензии. это не я писал.
> [13] Rouse_ © (09.04.08 23:05)
Порт под Линукс делать, туда же библиотеку не притащиш.
← →
TUser © (2008-04-10 09:12) [16]Не надо передавать array of string. Объяви тип с таким описанием и переменную этого типа передавай.
← →
oldman © (2008-04-10 10:18) [17]
> Падает при первом обращении к x.
x := ""; ???
Или при обращении после выполнения этого кошмара?
← →
@!!ex © (2008-04-10 10:18) [18]> x := ""; ???
да.
Убрал эту строчку - все заработало.
← →
oldman © (2008-04-10 10:21) [19]А если так:
Procedure initialize8(Var trans : Array Of String);
Var
c1, c2, c3, c4, c5, c6, c7, c8, i : integer;
x : String;
Begin
i:=0;
For c1 := 0 To 1 Do
For c2 := 0 To 1 Do
For c3 := 0 To 1 Do
For c4 := 0 To 1 Do
For c5 := 0 To 1 Do
For c6 := 0 To 1 Do
For c7 := 0 To 1 Do
For c8 := 0 To 1 Do
Begin
x := "";
x := inttostr(c1) + inttostr(c2) + inttostr(c3) + inttostr(c4) + inttostr(c5) + inttostr(c6) + inttostr(c7) + inttostr(c8);
trans[i] := x;
i:=i+1;
End;
End;
:)))
← →
DiamondShark © (2008-04-10 11:19) [20]Я вот в этой процедуре не вижу никаких внешних зависимостей, эрго, её можно смело заменить на инициализированную константу, и не способствовать глобальному потеплению.
← →
Slym © (2008-04-10 11:59) [21]моя версия FGInt http://ifolder.ru/5450091
быстрее однозначно...
← →
Slym © (2008-04-10 12:00) [22]переписываю на asm потихоньку :)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.008 c