Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с шифратором(запись и чтение из файла) [D7, XP]


Страницы:   1 2 3

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;


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо