![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с шифратором(запись и чтение из файла) [D7, XP]
Monty © (2007-01-31 22:32:00)Вообщем есть некий файл(variables.txt к примеру), и в нем зашифрованные значения переменных(как зашифровать тоже скажите). Вот например в файле такая строка: 10 15 Weapon BLa Bla Bla.
Как ее зашифровать и эти значения прочитать в делфи? Подскажите плз! Если что непонятно - объясните что и я напишу.
Игорь Шевченко (2007-02-01 16:17:00) [1]Monty (01.02.07 16:16) [41]
Таким не помогают
Monty (2007-02-01 16:16:00) [2]Удалено модератором
Monty (2007-02-01 16:13:00) [3]Удалено модератором
Плохиш (2007-02-01 12:10:00) [4]
> brother © (01.02.07 11:42) [38]
> я извиниясь... но как я понял...
> 1. чел вообще в программировании 0 ..1)
Многоточие надо с другой стороны нуля поставить.
> 4. орешник чистой воды...
Не, не орешник, а ещё одна кухарка.
brother (2007-02-01 11:42:00) [5]я извиниясь... но как я понял...
1. чел вообще в программировании 0..1)
2. хочет сделать прогу которая редактирует значения савок игры...
3. не знает элементарных вещей...
4. орешник чистой воды...
Джо (2007-02-01 03:34:00) [6]Ребята, заканчивайте, пожалуйста, с жаргоном и оффтопиком. И глушите эмоции.
Перцец (2007-02-01 02:45:00) [7]Удалено модератором
Примечание: Оффтопик
Перцец (2007-02-01 02:39:00) [8]Поверь, настоящие перцы юзают типиризованные файлы.
Вот на память(нет делфи проверить)
Приюсаси и используй процедуру LoadObj;
unit MyGameObj;
interface
type
TGameObj=packed record
a, b, c, d: integer;
e, f, g: string[100];
end;
const
MaxObj=65000;
CurrentObj:integer;
var
k: array of [1..MaxObj] of TGameObj;
f: file of TGameObj;
procedure LoadObj;
implementation
procedure LoadObj;
begin
CurrentObj:=0;
AssignFile(f,'MyObj.obj')
Reset(f);
Seek(f,CurrentObj);
while not eof(f) do
begin
CurrentObj:=CurrentObj+1;
Read(f,k[CurrentObj]);
end;
CloseFile(f);
end;
end.
Beeper (2007-02-01 00:42:00) [9](VL.Count > 5)
Correction:
(VL.Count > 6)
Beeper (2007-02-01 00:41:00) [10]чесно говоря ниче не понял, но все равно спасибо!
procedure TForm1.Button1Click(Sender: TButton);
var
SL: TStringList;
VL: TStringList;
a: string;
b: string;
c: string;
d: string;
e: string;
f: string;
g: string;
begin
SL := TStringList.Create;
try
SL.LoadFromFile('c:\file.txt');
if (SL.Count > 0) then
begin
VL := TStringList.Create;
try
VL.DelimitedText := SL[0];
if (VL.Count > 5) then
begin
a := VL[0];
b := VL[1];
c := VL[2];
d := VL[3];
e := VL[4];
f := VL[5];
g := VL[6];
end;
finally
VL.Free;
end;
end;
finally
SL.Free;
end;
end;
Monty (2007-02-01 00:26:00) [11]чесно говоря ниче не понял, но все равно спасибо!
Monty (2007-02-01 00:24:00) [12]
> что за чудо-игру ты там лабаешь
> у тебя ничего не получится
как я уже сказал мне нужен тока этот метод
Beeper (2007-02-01 00:22:00) [13]вот у тебя они все в лист бох записываются а как сделать чтобы каждая в свою переменную?
Я тебе уже писал:
// Теперь VL[0] - первая подстрока ('1')
// Теперь VL[1] - вторая подстрока ('2')
// Теперь VL[2] - третья подстрока ('3')
// Теперь VL[3] - четвертая подстрока ('54')
// Теперь VL[4] - пятая подстрока ('bla')
Я не знаю, что за чудо-игру ты там лабаешь, но, если ты не знаком с алгоритмизацией, программированием и языком программирования, на котором пытаешься лабать - то, говорю сразу - у тебя ничего не получится.
var
V1: string;
...
if (VL.Count > 0) then
V1 := VL[0]
else
V1 := '';
Monty (2007-02-01 00:21:00) [14]У меня этих книг полно! Сижу изучаю, но вот никак не могу эту "фихню" сделать вот и обратился
Monty (2007-02-01 00:19:00) [15]ну вообще спасибо за код - получилось, но одна маленькая деталь. вот у тебя они все в лист бох записываются а как сделать чтобы каждая в свою переменную?
Beeper (2007-02-01 00:15:00) [16]но когда пытаешся его открыть блокнотом то видим чушь, эта чушь и называется шифрование.
Я тут про орешник вспомнил...
Beeper (2007-02-01 00:14:00) [17]но когда пытаешся его открыть блокнотом то видим чушь, эта чушь и называется шифрование.
Сам терминологию придумал? Или кто подсказал?
Купи книгу по Pascal - и читай. В частности, про типизированные файлы. Вдумчиво читай. Будут вопросы - спрашивай.
P.S. Я тебе, вообще то, дал рабочий пример. Или ты только кричать горазд?
Beeper (2007-02-01 00:11:00) [18]СТРОКИ!!! у меня эти переменные не в столбик записаны а в одной строке.
Ты чего это кричишь? Держи свои эмоции при себе!
Открой файл MS Word в блокноте и найди там строки.
Если, типа, найдешь (хм...) - сохрани файл из блокнота (с расширением .doc), и попробуй теперь его открыть при помощи MS Word.
Сделай выводы.
а какая разница - типа можно любое ведь разширение сделать?
Мне устраивать тебе ликбез по текстовым и бинарным файлам?
Monty (2007-02-01 00:10:00) [19]привожу пример использования этого метода:
1) когда сохраняешь игру(пример), игра сохраняется в файл(все переменные), но когда пытаешся его открыть блокнотом то видим чушь, эта чушь и называется шифрование.
2) в некоторых играх(warcraft, oblivion) есть файлы, в которых описаны все элементы игры(типа, к примеру, мечи(параметры), луки(параметры) и тд и тп)
и при их открытии в блокноте видим ту же самую картину, что и с сохранениями.
Не подумайте, что я хочу создать что то типа Warcraft'a(вообще ниче не создаю), просто мне надо реализовать этот метод.
Beeper (2007-02-01 00:07:00) [20]Это тебе для тренировок:
Кинь на пустую форму Button и ListBox.
procedure TForm1.Button1Click(Sender: TButton);
var
SL: TStringList;
VL: TStringList;
i: integer;
begin
SL := TStringList.Create;
try
SL.LoadFromFile('c:\file.txt');
if (SL.Count > 0) then
begin
ListBox1.Items.Clear;
VL := TStringList.Create;
try
VL.DelimitedText := SL[0];
for i := 0 to VL.Count - 1 do
ListBox1.Items.Add(VL[i]);
finally
VL.Free;
end;
end
else
begin
ListBox1.Items.Add('No lines in the file');
end;
finally
SL.Free;
end;
end;