Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизПомогите с шифратором(запись и чтение из файла) Найти похожие ветки
← →
Monty (2007-01-31 22:32) [0]Вообщем есть некий файл(variables.txt к примеру), и в нем зашифрованные значения переменных(как зашифровать тоже скажите). Вот например в файле такая строка: 10 15 Weapon BLa Bla Bla.
Как ее зашифровать и эти значения прочитать в делфи? Подскажите плз! Если что непонятно - объясните что и я напишу.
← →
Johnmen © (2007-01-31 23:13) [1]А что ты уже знаешь по данному вопросу? Ну, кроме, как играть в эту игрушку, естественно.
← →
Monty (2007-01-31 23:18) [2]практически ничего, даже незнаю как из одной строчки из файла прочитать строковую переменную, если незнаешь ее точной длины :(
← →
Beeper (2007-01-31 23:20) [3]Monty (31.01.07 23:18) [2]
Как думаешь, Лев Толстой "Войну и Мир" написал до того, как писать научился, или уже после?
← →
Monty (2007-01-31 23:23) [4]Ну вот все испробовал :)
← →
bagos (2007-01-31 23:24) [5]Monty,ну если ты хочешь просто зашифровать и расшифровать,то вот тебе самый приметив:
var
s : string;
e : string;
j,i : Integer;
begin
s := memo1.Lines.Text;
SetLength(e, length(s));
for i := 1 to length(s) do begin
e[i] := chr(ord(s[i])+500); //тут можешь поставить любое число
end;
memo2.Lines.Text:=e;
чтобы расшифровать просто вычитаешь то же число
← →
Monty (2007-01-31 23:25) [6]не, похоже вы не поняли суть.
← →
Beeper (2007-01-31 23:26) [7]//тут можешь поставить любое число
Наивысшая степень шифрования - 256.
← →
Beeper (2007-01-31 23:28) [8]не, похоже вы не поняли суть.
Не, это ты не назвал сумму.
← →
Monty (2007-01-31 23:30) [9]вощем, типа есть файл(лубой, главное чтоб в нем значения переменных хранились), но он зашифрованный(т.е. все значения в нем зашифрованы). так вот как в делфи прочитать эти значения?
← →
Monty (2007-01-31 23:30) [10]вощем, типа есть файл(лубой, главное чтоб в нем значения переменных хранились), но он зашифрованный(т.е. все значения в нем зашифрованы). так вот как в делфи прочитать эти значения?
← →
bagos (2007-01-31 23:31) [11]хм...даже не знаю можно ли тебе помочь;)
← →
Beeper (2007-01-31 23:32) [12]так вот как в делфи прочитать эти значения?
Так же как и незашифрованные.
← →
Monty (2007-01-31 23:37) [13]лана, рас вы не можете мне помочь с этим, тады хотябы подскажите
> как из одной строчки из файла прочитать строковую переменную,
> если незнаешь ее точной длины
← →
Monty (2007-01-31 23:40) [14]как я уже сказал дана строка в файле:
1 2 3 54 bla blab blav
как прочитать их в дельфи в 7 переменных(т.е a:=1, b:=2, c:=3, d:=54, e:=bla, f:=blab, g:=blav)?
← →
Beeper (2007-01-31 23:42) [15]рас вы не можете мне помочь с этим
Это ты не можешь сказать, что тебе надо.
Что значит "строчка файла"?
Файл - текстовый?
Если да, то, для тебя проще всего будет:var
SL: TStringList;
begin
SL := TStringList.Create;
try
SL.LoadFromFile("c:\file.txt");
// Теперь в SL загружены все строки
// SL[0] - первая строка
// SL[1] - вторая строка и т. д.
finally
SL.Free;
end;
end;
← →
Beeper (2007-01-31 23:42) [16]e:=bla, f:=blab, g:=blav
Шикарно...
← →
Monty (2007-01-31 23:45) [17]
> Шикарно...
фантазия =))))
← →
Beeper (2007-01-31 23:46) [18]
var
SL: TStringList;
VL: TStringList;
begin
SL := TStringList.Create;
try
SL.LoadFromFile("c:\file.txt");
// Теперь в SL загружены все строки
// SL[0] - первая строка
// SL[1] - вторая строка и т. д.
if (SL.Count > 0) then
begin
VL := TStringList.Create;
try
VL.DelimitedText := SL[0]; // первая строка из файла
// Теперь VL[0] - первая подстрока ("1")
// Теперь VL[1] - первая подстрока ("2")
// Теперь VL[2] - первая подстрока ("3")
// Теперь VL[3] - первая подстрока ("54")
// Теперь VL[4] - первая подстрока ("bla")
// и т. д.
finally
VL.Free;
end;
end;
finally
SL.Free;
end;
end;
← →
Beeper (2007-01-31 23:47) [19]// Теперь VL[0] - первая подстрока ("1")
// Теперь VL[1] - первая подстрока ("2")
// Теперь VL[2] - первая подстрока ("3")
// Теперь VL[3] - первая подстрока ("54")
// Теперь VL[4] - первая подстрока ("bla")
Correction:// Теперь VL[0] - первая подстрока ("1")
// Теперь VL[1] - вторая подстрока ("2")
// Теперь VL[2] - третья подстрока ("3")
// Теперь VL[3] - четвертая подстрока ("54")
// Теперь VL[4] - пятая подстрока ("bla")
← →
Monty (2007-01-31 23:49) [20]Да, наверно это я недообьясняю. Вот дан файл(а какая разница какой?) в нем строчки(именно строчки)
1 2 3 54 bla blab blav
2 5 7 35 fff aaaa dfff
> // Теперь в SL загружены все строки // SL[0] - первая
> строка // SL[1] - вторая строка и т. д.
и как мне теперь вытащить оттуда значения
> a:=1, b:=2, c:=3, d:=54, e:=bla, f:=blab, g:=blav
?
← →
Beeper (2007-01-31 23:57) [21]Вот дан файл(а какая разница какой?) в нем строчки(именно строчки)
А теперь объясни, что ты называешь "именно строчки" в "какая разница каком" файле?
← →
Monty (2007-02-01 00:04) [22]СТРОКИ!!! у меня эти переменные не в столбик записаны а в одной строке. а какая разница - типа можно любое ведь разширение сделать?
← →
Beeper (2007-02-01 00:07) [23]Это тебе для тренировок:
Кинь на пустую форму 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;
← →
Monty (2007-02-01 00:10) [24]привожу пример использования этого метода:
1) когда сохраняешь игру(пример), игра сохраняется в файл(все переменные), но когда пытаешся его открыть блокнотом то видим чушь, эта чушь и называется шифрование.
2) в некоторых играх(warcraft, oblivion) есть файлы, в которых описаны все элементы игры(типа, к примеру, мечи(параметры), луки(параметры) и тд и тп)
и при их открытии в блокноте видим ту же самую картину, что и с сохранениями.
Не подумайте, что я хочу создать что то типа Warcraft"a(вообще ниче не создаю), просто мне надо реализовать этот метод.
← →
Beeper (2007-02-01 00:11) [25]СТРОКИ!!! у меня эти переменные не в столбик записаны а в одной строке.
Ты чего это кричишь? Держи свои эмоции при себе!
Открой файл MS Word в блокноте и найди там строки.
Если, типа, найдешь (хм...) - сохрани файл из блокнота (с расширением .doc), и попробуй теперь его открыть при помощи MS Word.
Сделай выводы.
а какая разница - типа можно любое ведь разширение сделать?
Мне устраивать тебе ликбез по текстовым и бинарным файлам?
← →
Beeper (2007-02-01 00:14) [26]но когда пытаешся его открыть блокнотом то видим чушь, эта чушь и называется шифрование.
Сам терминологию придумал? Или кто подсказал?
Купи книгу по Pascal - и читай. В частности, про типизированные файлы. Вдумчиво читай. Будут вопросы - спрашивай.
P.S. Я тебе, вообще то, дал рабочий пример. Или ты только кричать горазд?
← →
Beeper (2007-02-01 00:15) [27]но когда пытаешся его открыть блокнотом то видим чушь, эта чушь и называется шифрование.
Я тут про орешник вспомнил...
← →
Monty (2007-02-01 00:19) [28]ну вообще спасибо за код - получилось, но одна маленькая деталь. вот у тебя они все в лист бох записываются а как сделать чтобы каждая в свою переменную?
← →
Monty (2007-02-01 00:21) [29]У меня этих книг полно! Сижу изучаю, но вот никак не могу эту "фихню" сделать вот и обратился
← →
Beeper (2007-02-01 00:22) [30]вот у тебя они все в лист бох записываются а как сделать чтобы каждая в свою переменную?
Я тебе уже писал:// Теперь 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:24) [31]
> что за чудо-игру ты там лабаешь
> у тебя ничего не получится
как я уже сказал мне нужен тока этот метод
← →
Monty (2007-02-01 00:26) [32]чесно говоря ниче не понял, но все равно спасибо!
← →
Beeper (2007-02-01 00:41) [33]чесно говоря ниче не понял, но все равно спасибо!
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;
← →
Beeper (2007-02-01 00:42) [34](VL.Count > 5)
Correction:
(VL.Count > 6)
← →
Перцец (2007-02-01 02:39) [35]Поверь, настоящие перцы юзают типиризованные файлы.
Вот на память(нет делфи проверить)
Приюсаси и используй процедуру 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.
← →
Перцец (2007-02-01 02:45) [36]Удалено модератором
Примечание: Оффтопик
← →
Джо © (2007-02-01 03:34) [37]Ребята, заканчивайте, пожалуйста, с жаргоном и оффтопиком. И глушите эмоции.
← →
brother © (2007-02-01 11:42) [38]я извиниясь... но как я понял...
1. чел вообще в программировании 0..1)
2. хочет сделать прогу которая редактирует значения савок игры...
3. не знает элементарных вещей...
4. орешник чистой воды...
← →
Плохиш © (2007-02-01 12:10) [39]
> brother © (01.02.07 11:42) [38]
> я извиниясь... но как я понял...
> 1. чел вообще в программировании 0..1)
Многоточие надо с другой стороны нуля поставить.
> 4. орешник чистой воды...
Не, не орешник, а ещё одна кухарка.
← →
Monty (2007-02-01 16:13) [40]Удалено модератором
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.047 c