Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2009, 22:08   #11
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
некоторый текст в этом файле...
Текст можно прочитать только в текстовом файле( при этом расширение у файла может быть не только .txt или .doc).
Поэтому при работе с файлами нужно определять конкретно тип файлов.
Принцип anything или some - File не проходит.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 27.09.2009, 22:17   #12
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,457
По умолчанию

Цитата:
Сообщение от DeKot Посмотреть сообщение
Текст можно прочитать только в текстовом файле( при этом расширение у файла может быть не только .txt или .doc).
Поэтому при работе с файлами нужно определять конкретно тип файлов.
Принцип anything или some - File не проходит.
Я как понял, он имеет ввиду открыть exe и поменять там текст( открыть как исходник) *.pas
uberchel вне форума Ответить с цитированием
Старый 28.09.2009, 20:40   #13
Romms
Пользователь
 
Регистрация: 26.04.2009
Сообщений: 21
По умолчанию

uberchel Вы не правы! Я знаю что такое *.ехе, это не какойто там исходник зашифрованый)))...(и это я знаю ещё с первого класа)

Ну а как открывает стандартный Блокнот? мне надо также...

Последний раз редактировалось Romms; 28.09.2009 в 20:44.
Romms вне форума Ответить с цитированием
Старый 28.09.2009, 20:56   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

уже сказали много раз или через нетипизированныи файл либо через TFileStream
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.09.2009, 22:27   #15
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Несколько раз перечитал все сообщения темы и только сейчас понял -
имеется какой то проект, содержащий текстовую информацию (к примеру есть компонент Memo (для Дельфи) с текстом). ТС хочет из уже скомпилированного проекта (по сути из .exe) получить доступ именно к текстовой части ( в Memo). Получаем вот что - экзешный файл в смысловом понятии возможно просмотреть только в машинном коде (обычно это шестнадцатеричный код). Hex-числа такого кода отображают команды для центрального процессора и содержат в себе тип команды (сложить содержание каких-то регистров памяти, переместить содержание ячейки памяти куда - либо, считать содержимое регистра с указанным адресом ... ну и так далее).Т.е. каждое такое 16-ричное число, по сути, низкоуровневая команда для процессора.В том числе она может содержать и информацию о текстовых символах, порядке их вывода на внешние устройства (экран, принтер и т.п.).
Таким образом прочитать экзешник можно, но чтобы все это понять (в принципе тоже возможно) уж слишком большие затраты знаний и ВРЕМЕНИ потребуются.
Даже если с помощью дизассемблирования преобразовывать экзешник, то и то в больших программах 100 % не разобраться (могут быть различные толкования одного и того же кода).
Так что подумайте (как говорят в Одессе) - А оно мне надо?
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 28.09.2009, 22:42   #16
Romms
Пользователь
 
Регистрация: 26.04.2009
Сообщений: 21
По умолчанию

Как я понял, меня никто не понял... приношу свои извинения!

Что бы Вы меня поняли предлягаю зделать так:
1. Найти на компе какойто Екзешник(ехе)
2. Открыть стандартный Блокнот и с помощью него открыть найденной екзешник
Что вы видете? Вот это надо чтобы и моя прога показывала)
(это главная задача, притом нужно чтобы и иные файли открывались)

Большое спасибо за внимания
Romms вне форума Ответить с цитированием
Старый 28.09.2009, 22:53   #17
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
Открыть стандартный Блокнот и с помощью него открыть найденной екзешник
Вот это надо чтобы и моя прога показывала)
А на фига???
Ну расковыряете Вы стамеской будильник. И . . . ?
Т.е. все что я написал в посте #15 Вам не надо?
Сто раз повторялось - это подпись Пепел Феникса:
Цитата:
Хорошо поставленный вопрос это уже половина ответа
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 28.09.2009 в 23:02.
DeKot вне форума Ответить с цитированием
Старый 28.09.2009, 22:54   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

читаем внимательно.
http://www.programmersforum.ru/showp...7&postcount=14
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.09.2009, 23:09   #19
Romms
Пользователь
 
Регистрация: 26.04.2009
Сообщений: 21
По умолчанию

Цитата:
А на фига???
Ну расковыряете Вы стамеской будильник. И . . . ?
Да мне надо в этом "тексте" найти подстроку

Цитата:
Т.е. все что я написал в посте #15 Вам не надо?
конешно...

Цитата:
читаем внимательно.
http://www.programmersforum.ru/showp...7&postcount=14
Читал!!! Писал!!! НЕРАБОТАЕТ!!!

Возможно я неправиль написал...
Вот фрагмент моего кода:
Код:
var
        FromF, ToF: file;
	NumRead, NumWritten: Integer;
	Buf: array[1..2048] of Char;

[...]
 for ss:=1 to listBox2.Items.Count do
  begin

	AssignFile(FromF, listBox2.Items.strings[ss-1]);
	Reset(FromF, 1); { Record size = 1 }
	begin

	repeat

	BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
         memo1.text:=buf[1]    ;
//	BlockWrite(ToF, Buf, NumRead, NumWritten);

	until (NumRead = 0) or (NumWritten <> NumRead);
	CloseFile(FromF);

	end;


  end;
Romms вне форума Ответить с цитированием
Старый 28.09.2009, 23:16   #20
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Естественно не работает, точнее цикл проходит 1 раз
У Вас закомментирована строчка, в которой заносится значение в NumWritten. Поэтому в ней как хранился мусор, так и хранится и условие (NumWritten <> NumRead) выполняется
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как открыть файл .exe применяя гиперссылку segail Microsoft Office Excel 4 15.06.2009 23:55
какой ну жен код чтобы открыть exe файл? mrs.rafanadal Общие вопросы Delphi 1 04.06.2009 11:50
Не получается открыть .exe файл, через команду ShellExecute Norton Общие вопросы Delphi 5 05.05.2009 19:57
Как открыть *.exe в Win.Appication papazyan Общие вопросы .NET 2 29.12.2007 21:02