Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 127
от 02.05.2003, 18:10

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 214
Отправлено ответов: 638
Активность: 298.1 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Tigran K. Kalaidjian
Статус: Доверительный
Общий рейтинг: 115.17
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 121.68
URL: Страничка рассылки по Паскалю
Телефон: +38 (0572) 41-76-04 д.
[Подробней >>]
Shurik
Статус: Начальный
Общий рейтинг: 115
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 118.91
[Подробней >>]
Ace
Статус: Доверительный
Общий рейтинг: 126.19
[Подробней >>]
Tancho
Статус: Опытный
Общий рейтинг: 147.94
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 210. Привет всем профи! Подскажите пожалуйста как в каком нибудь текстовом файле заменить какую нибудь ст... (ответов: 6)
Вопрос № 211. К вопросу 209. Чтобы из головной проги обратиться кмодулю его нужно объвить в самой проге,а чтобы из... (ответов: 3)

Вопросов: 2, ответов: 9


 Вопрос № 210

Привет всем профи!
Подскажите пожалуйста как в каком нибудь текстовом файле заменить какую нибудь строку?
**************************
Какой статус программирования можно дать человеку который программирует уже 80% года?



Вопрос отправлен: 28.04.2003, 23:21
Отправитель: Кирилл (karatetski@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает Tigran K. Kalaidjian

Доброе время суток, Кирилл!
1. Я бы сделал так: создаём временный файл и копируем в него исходный файл до тех пор, пока не встретим нужную строку. Саму строку пропускаем, а записываем нам нужную. Далее продолжаем копирование до конца файла. Стираем исходный файл и переименовываем временный.
2. А кто кому даёт статус ?
Всё зависит не от времени изучения, а от умения программировать. Один мой друг уже 3 года изучает TP и так до сих пор не может писать самые простенькие программки, однако другой мой друг за 1 год изучил 3 языка и свободно программирует. Было бы желание...
Сам я программирую 2 года. На ассемблере - полгода.

Ответ отправлен: 01.05.2003, 10:57
Отправитель: Tigran K. Kalaidjian


Отвечает Sensey

Здравствуйте, Кирилл!
Замена N-ой строки:
Открываешь файл1 reset-ом,
Читаешь и переписываешь в файл2 N-1 строк.
Записываешь в файл2 новую строку
Просто прочитываешь из файл1 строку, которая не нужна
Читаешь и переписываешь в файл2 оставшиеся строки.
***
:) Главное, не сколько времени программишь, а сколько знаешь!



Ответ отправлен: 29.04.2003, 11:46
Отправитель: Sensey


Отвечает Shurik

Добрый день, Кирилл!
Легче всего, чтобы не париться с файловыми дескрипторами, позициями и прочей головной болью, переписывайте все в другой файл, пока не дойдете до строки, которую нужно заменить. Замените строку, потом допишите остаток, удалите исходный файл командой erase, а затем переименуйте полученный в исходный командой rename.


Ответ отправлен: 29.04.2003, 21:48
Отправитель: Shurik


Отвечает Ayl

Доброе время суток, Кирилл!
Никак. Только полностью переписать файл с измененной строкой. То есть, открываешь текстовый файл для чтения, открываешь другой файл для записи, переписываешь все строки из первого файла во второй до твоей строки. Выполняешь действяи над нужной тебе строкой и записываешь ее. Дописываешь файл. Или считываешь весь файл в буфер, редактируешь его и записываешь весь буфер поверх старого файла.
Насчет статуса. Знаешь, была такая история с шахматистом Филидором. Его как-то попросили научить играть в шахматы короля Франции. Примерно через год монарх обратился к Филидору с вопросом, как он оценивает теперь умение короля. Филидор ответил: "Знаете, Ваше Величество, все люди делятся на три категории - те, кто не умеет играть в шахмате; те, кто играет плохо и те, кто ирает хорошо. Вас я уже могу отнести ко вторым!". Мораль та, что не важно, сколько ты занимаешься программированием, важно, какие знания ты за это время приобрел. Можно и за полгода стать хорошим программистом, а можно и за 10 лет не научится писать ничего, кроме "Hello, World!" на BASIC'е.

Ответ отправлен: 29.04.2003, 13:30
Отправитель: Ayl


Отвечает Ace

Приветствую Вас, Кирилл!
Открываешь файл, в котором нужно изменить строку. Создаешь еще один файл. Читаешь с помощью ReadLn строку из первого и записываешь ее во второй (WriteLn). Если нужно изменить строку (например, записать свою), то сразу не записывай, а проделай нужные тебе действия со строкой, а потом уже заноси ее во второй файл.

Ответ отправлен: 29.04.2003, 15:16
Отправитель: Ace


Отвечает Tancho

Добрый день, Кирилл!
1) Если файл тестовой, то откроеш его, открываешь и токой же
выходной файл, потом читаеш из входной и пишеш у выходной
строку за строку пока достигнеш заветная строка, а потом
на место ее пишеш что угодно и снова читаеш и пишеш
до конца, потом обезательна закрываеш выходной файл и все!
2) Кто нибудь можно скажеть - есть процедура
Seek(f,n:longint) и... ошибься она НЕ МОЖЕТ быть использована для текстовой файл!

Ответ отправлен: 29.04.2003, 15:40
Отправитель: Tancho


 Вопрос № 211

К вопросу 209.
Чтобы из головной проги обратиться кмодулю его нужно объвить в самой проге,а чтобы из модуля сразу обратиться в другой модуль его где нужно обЪявить.У меня выскакивает ошибка типа undefined forward(процедура которая находится в другом модуле).



Вопрос отправлен: 29.04.2003, 06:44
Отправитель: антон (oven_mars@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Sensey

Доброе время суток, антон!
В том модуле где вызываешь в разделе интерфейса (INTERFACE)
Если процедуры из 2[ модулей будут вызыватся в обоих модулях(кросс-сылки) то один описываешь в разделе реализации (IMPLEMENTATION)


Ответ отправлен: 29.04.2003, 12:05
Отправитель: Sensey


Отвечает Shurik

Добрый день, Антон!
Чтобы из модуля, к примеру, ss обратиться в модуль kk, нужно в ss в объявлениях функций и процедур, а именно после слова INTERFACE написать uses kk. uses работает по принципу пристыковать все, что находится в файле. Если вы подключаете в главной проге сначала ss, потом kk, а при этом в ss используете что-нибудь из kk, то вполне логично, что он у вас ругается, дабы сначала он пытается найти все описания, находящиеся в kk и, естественно, не находит. Принцип простой - соблюдайте последовательность.


Ответ отправлен: 29.04.2003, 21:49
Отправитель: Shurik


Отвечает Tancho

Добрый день, антон!
Мне кажеться что уже ответил на это в ответь на этоть
209 вопрос, но снова скажу :
"Если в частти implementation ползуешся процедурый(функции)
или дефиниции содержащиисе у другие модули, то сразу после
ключевое слово implementation и переди списку локалных декларации надо поставит директиву uses, последована от имени этих модулей"
Надеюсь ты уже понел все!

Ответ отправлен: 29.04.2003, 15:17
Отправитель: Tancho



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (35)
C / C++ (28)
Perl (6)
Delphi (13)
Pascal (24)
Basic / VBA (5)
Java / JavaScript (8)
PHP (4)
MySQL / MSSQL (4)
Пользователю
Windows 95/98/Me (29)
Windows NT/2000/XP (24)
"Железо" (25)
Поиск информации (12)
Администратору
Windows NT/2000/XP (13)
Linux / Unix (10)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (5)
КоАП (4)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное