Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Aggrion
0 / 0 / 1
Регистрация: 24.06.2011
Сообщений: 3
1

Буфер

26.06.2011, 19:59. Просмотров 606. Ответов 2
Метки нет (Все метки)

Два файла сравниваются посимвольно. Если какие-то два символа (байты) вдруг не равны, то в третий файл нужно вывести символ(или байт) из 2го файла, позицию (где неравенство) и желательно разделитель.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure TForm1.Button1Click(Sender: TObject);
var
 f1,f2,f3: TFileStream;
 buf1,buf2: array of char;
 i: integer;
begin
 
f1:= TFileStream.Create('e:\file1.txt',fmOpenRead);
f2:= TFileStream.Create('e:\file2.txt',fmOpenRead);
f3:= TFileStream.Create('e:\file3.txt',fmOpenReadWrite);
 
 
for i:= 0 to 9 do
begin
 f1.Seek(0, soFromCurrent);
 f2.Seek(0, soFromCurrent);
 f1.Read(buf1,1);
 f2.Read(buf2,1);
 if buf1 <> buf2 then
 begin
  f3.Seek(0, soFromCurrent);
  f3.Write(buf2,1);                --- тут я вывожу в третий файл из 2го файла.
 end;
 
end;
 
f1.Free;
f2.Free;
f3.Free;
 
end;
Проблема в том, что я не знаю как написать функцию для вывода позиции (типа f2.Position), потому что, если писать через f3.Write, то первая переменная буферного типа.
Или подскажите, как символ/число перевести в буферный тип.
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку "DELPHI".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2011, 19:59
Ответы с готовыми решениями:

Копирование в буфер
Напишите пожалуйста код Его функция такова. Есть выпадающее меню, (4 разных позиции в нем) и...

Буфер обмена
Добрый вечер форумчане. Выручайте. Вот код Delphi 7: procedure TSpisok.BitBtn1Click(Sender:...

скопировать в буфер
Подскажите пожалуйста как написать процедуру для кнопки чтобы пр нажатии ее содержимое мемо...

Буфер обмена
Привет! Ребятки выручайте. Меня интересует только одно. Работа на Delhpi/Component UDPServer. У...

массив из и в Буфер
Мне нужно записать и потом считать 2х мерный массив чисел с Буфера обмена. Подскжите как это можно...

2
i8085
1893 / 1324 / 252
Регистрация: 11.09.2009
Сообщений: 4,668
26.06.2011, 20:07 2
Aggrion, по-моему, у вас переменная цикла "i" - и есть позиция?

P.S.
Вы объявляете массивы как динамические. А где вы их длину устанавливаете?
Да и сравниваете вы целиком массивы, а не их элементы...
Зачем вам вообще массивы, если читаете посимвольно? Просто переменной недостаточно?
0
Aggrion
0 / 0 / 1
Регистрация: 24.06.2011
Сообщений: 3
26.06.2011, 20:15  [ТС] 3
Вот так я вывожу байт
Delphi
1
f3.Write(buf2,1);
Как мне вывести позицию этого байта?
Delphi
1
f3.Write([тут нельзя написать типа f2.Position],1);
2 i8085
Вместо массива array of char можно записать просто тип char, ибо я сейчас тестирую программу на текстовых файлах.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2011, 20:15

Буфер обмена
В делфи можно использовать буфер обмена как в Ворде ? Как его можно использовать так ? Как бы...

Буфер обмена.
Написал программу которая поддерживает работоспособность другой программы. Ну так вот вопрос: Как...

cxGrid копирование в буфер!
Добрый день всем=)) Столкнулся с проблемой вот какой: Есть заполненный cxGrid. Необходимо по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru