Задача замены времени в тексте |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача замены времени в тексте |
ONE |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Вообщем дали мне простенькую задачу. Есть программа передач и там нужно поставить вместо московского времени местное.(+2 часа)... Каким образом допустим из 04.00, 06.00 можно получить 06.00, 08.00 ???
Заранее спасибо.. |
Altair |
Сообщение
#2
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Заранее спасибо.. За что? Условие не однозначное. Как выглядит программа? Где она записанна? Если в файле, то в каком и какого он типа. Я вообще телевизор не смотрю, и что такое программа не знаю, так что подробнее напишите условие! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
APAL |
Сообщение
#3
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Имеется в виду - уточни структуру данных в файле программы.
Т.е. то, с чем придется работать... -------------------- |
ONE |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Так... отвечаем по порядку...
Файл - текстовый.... Обычная программа передач.. вот кусок: 1-й КАНАЛ 06.00, 10.00, 12.00 Новости. 06.10 Сериал «Все путешествия команды Кусто». «Последний оплот». 06.30 Х/ф «Петроградские гавроши». 08.20 «Служу Отчизне!» 08.50 «Дисней-клуб»: «Мики, Дональд и Гуффи-спортсмен». 09.10 «В мире животных». 10.10 «Непутевые заметки». И нужно время перевести на 2 часа...то есть чтобы вот так вот получилось: 1-й КАНАЛ 08.00, 12.00, 14.00 Новости. 08.10 Сериал «Все путешествия команды Кусто». «Последний оплот». 08.30 Х/ф «Петроградские гавроши». 10.20 «Служу Отчизне!» 10.50 «Дисней-клуб»: «Мики, Дональд и Гуффи-спортсмен». 11.10 «В мире животных». 12.10 «Непутевые заметки». |
APAL |
Сообщение
#5
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Задача сводится к написании функции, которая будет преобразовывать строку. Только это осложняется (немного) неравномерной структурой:
Цитата 06.00, 10.00, 12.00 Новости. 06.10 Сериал «Все путешествия команды Кусто». «Последний оплот». Попробую написать. -------------------- |
ONE |
Сообщение
#6
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Да уж.. я вот думал, думал и подумал - а можно ли в MS Word написать макрос, который бы выполнял ту же самую функцию преобразования строки?
|
APAL |
Сообщение
#7
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Я тоже подписан на рассылку ТВ-программы...
Но у меня возникла вообще другая идея - сделать програмку, которая по текущему времени выдает что на каком канале идет, сколько еще будет по времени идти, и что будет после. Ваш "перевод часов", я думаю, там был бы уместен. Вот только руки еще не дошли все это сделать.... :D -------------------- |
APAL |
Сообщение
#8
|
Смотрю... Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Вот что смог сделать:
Код Var St :string; Function TimeZone(S : String; k : Integer) : String; Var i : Byte; cod1,cod2,l :Integer; s0,s1 : String; Begin s0:=''; For i:=1 to Length(s) do If (s[i]='.') and ((i>2) and (i<Length(s)-1)) then Begin Val(Copy(S,i+1,2),l,cod2); Val(Copy(S,i-2,2),l,cod1); If (cod1=0) and (cod2=0) then Begin Delete(s0,Length(s0)-1,2); Str(l+k,s1); s0:=s0_в(s,i,3); i:=i+2; End else s0:=s0+s[i]; End else s0:=s0+s[i]; TimeZone:=s0; End; Begin Writeln(TimeZone('06.00, 10.00, 12.00 Новости.',2)); Writeln(TimeZone('06.10 Сериал <Все путешествия команды Кусто>. <Последний оплот>.',2)); End. -------------------- |
Текстовая версия | 19.05.2024 5:33 |