Вверх ↑
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
#1: 2007-02-16 18:06:15 ЛС | профиль | цитата
Уважаемые эксперты подскажите пожалуйста,как с помощью поля для ввода менять
исохранять символ в текстовом файле?

Пример:

На диске 2 прграммы.

Двойку нужно менять на 6 или любую другую цифру,вводя текст с клавиатуры в "поле для ввода".

У меня получилось примерно следующее:

Открываю файл, с помощью поиска по блокам нахожу нужный текст.
Но вот как его менять и сохранять не пойму.
Add(Button,14364510,154,77)
{
Left=150
Top=75
link(onClick,5829171:doLoad,[(208,83)(208,118)])
}
Add(Edit,11332712,322,28)
{
Left=325
Top=25
}
Add(BlockFind,11292368,322,91)
{
}
Add(Memo,5829171,231,84)
{
Left=230
Top=80
link(onChange,11292368:doSearch,[(292,90)(292,97)])
}
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#2: 2007-02-16 19:52:09 ЛС | профиль | цитата
code_976
карма: 9

0
файлы: 1code_976.txt [1KB] [352]
Ответов: 902
Рейтинг: 27
#3: 2007-02-16 20:41:05 ЛС | профиль | цитата
Спасибо большое с этим я разобрался!
Мне нужно чтобы при внесении в поле ввода данных текст заменялся и сохранялся.
Но чтобы можно было вводить каждый раз новое число.

Мне это нужно для редактирования бат файла запуска говорилки из командной строки:

start Govorilka.exe -e12 -s50

Чтобы можно было менять параметр -e12 например на е17.-это номер голосового движка установленного в системе.

Я думаю как то так?:
Add(Button,14364510,483,336)
{
Left=5
Top=10
link(onClick,11292368:doSearch,[])
}
Add(Memo,5829171,553,245)
{
Left=20
Top=35
Width=290
Height=140
FileName="Govorilka.bat"
Strings=#17:старт 2 программы|
ScrollBars=3
}
Add(BlockFind,11292368,553,336)
{
IncludeBlock=1
Delete=0
ReplaceStr="***"
StartBlock="start Govorilka.exe -e"
EndBlock=" -s50"
link(onEndSearch,5829171:doText,[(595,349)(595,313)(543,313)(543,272)])
link(Text,5829171:Text,[])
}
Add(Edit,6413535,616,245)
{
Left=490
Top=265
}
Add(Replace,2525518,623,308)
{
}
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3851
Рейтинг: 159
#4: 2007-02-16 21:42:25 ЛС | профиль | цитата
Может это: code_978
карма: 0
начавший
0
файлы: 1code_978.txt [699B] [288]
Ответов: 902
Рейтинг: 27
#5: 2007-02-16 22:51:05 ЛС | профиль | цитата
Я просто тупой,- по этому не могу правильно объяснить!
Мне необходимо чтобы при в вводе в "текстовое поле ввода" параметр е4 менялся на введённый.
Четвёрка находится,но как её менять на любую нужную мне цифру?
Куда прилепить поле ввода?
А большое поле со строками мне в принципе не нужно.
На форме необходимо только поле ввода и кнопка.
Зараннее извиняюсь за тупость и назойлевость!!!
Я пробовал так:
Add(MainForm,12122222,328,150)
{
Left=20
Top=105
Width=625
Height=408
}
Add(Button,1328958,342,80)
{
Left=255
Top=5
Width=40
Font=[Arial Black,8,0,0,204]
Caption="ОК"
link(onClick,11832089:doEvent1,[(407,86)(407,118)])
}
Add(BlockFind,4166744,601,136)
{
IncludeBlock=1
Delete=0
UserReplace=0
StartBlock="start Govorilka_cp.exe -e"
EndBlock=" -s50 -c -d "C:Program FilesOperaDigalo Russian Nicolai.dic""
}
Add(RichEdit,9818969,524,126)
{
Left=20
Top=45
Width=330
FileName="Digalo.bat"
link(onChange,4166744:doSearch,[(578,132)(578,142)])
}
Add(Edit,7202732,538,63)
{
Left=165
Top=5
Ctl3D=1
Text=""
DataType=1
}
Add(Hub,11832089,412,112)
{
link(onEvent2,9818969:doLoad,[(484,125)(484,153)])
}

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 8926
Рейтинг: 823
#6: 2007-02-16 23:28:58 ЛС | профиль | цитата
juk,
code_982
карма: 19

0
файлы: 1code_982.txt [658B] [351]
Ответов: 902
Рейтинг: 27
#7: 2007-02-17 01:45:58 ЛС | профиль | цитата
К сожалению не помогло.
Но мне удалось нужный текст заносить в буфер обмена.
А не подскажете как полностью очистить файл,и вставить текст из буфера?

[size=-2]------ Добавлено в 01:45
Извиняюсь!!!-В программе всё работает!
Но как теперь текст из строки вставить в файл?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 902
Рейтинг: 27
#8: 2007-02-17 05:12:22 ЛС | профиль | цитата
Почти сделал.
Помогите пожалуйста дальше!
Здесь вроде всё объяснил:
Add(Button,1328958,261,209)
{
Left=305
Top=5
Width=40
Font=[Arial Black,8,0,0,204]
Caption="0К"
link(onClick,9818969:doLoad,[(312,215)(312,212)])
}
Add(BlockFind,4166744,387,188)
{
IncludeBlock=1
Delete=0
UserReplace=0
StartBlock="start Govorilka.exe -e"
EndBlock=" -s50 -c -d"
link(onSearch,7820452:doData,[(455,194)(455,103)])
link(onEndSearch,3866219:doReplace,[])
}
Add(Edit,11650459,541,94)
{
Left=235
Top=5
Ctl3D=1
Text="0"
DataType=1
}
Add(EventFromData,7820452,478,97)
{
}
Add(RichEdit,9818969,331,185)
{
Left=20
Top=45
Width=330
FileName="Digalo.bat"
link(onChange,4166744:doSearch,[(371,191)(371,194)])
}
Add(Replace,3866219,478,195)
{
link(onReplace,15445803:doMessage,[(520,201)(520,244)(475,244)(475,268)])
link(Sub_str,7820452:GetData,[(491,138)(484,138)])
link(Dest,11650459:Text,[(498,164)(547,164)])
}
Add(InfoTip,13870008,527,192)
{
Info=#28:<На выходе получается текст |18:который мне нужен.|31:Как его теперь вставить в файл?|
Width=176
Height=60
}
Add(Message,15445803,485,262)
{
}
Add(InfoTip,8664102,184,269)
{
Info=#45:Если создать текстовый файл и написать в нём:|36:start Govorilka.exe -e12 -s50 -c -d |28:а затем переименовать его в:|10:Digalo.bat|52:и поместить в папку с программой,то всё будет видно.|
Width=274
Height=88
}
Add(InfoTip,1028275,184,367)
{
Info=#32:При вводе цифр в текстовое окно |39:и нажатии ОК будет менятся параметр е12|
Width=274
Height=39
}

карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#9: 2007-02-17 09:07:44 ЛС | профиль | цитата
code_985
карма: 9

0
файлы: 1code_985.txt [1.4KB] [364]
Ответов: 902
Рейтинг: 27
#10: 2007-02-17 21:36:16 ЛС | профиль | цитата
СПАСИБО! СПАСИБО!! СПАСИБО!!!
Я бы сам ещё месяца 2 думал!
Но зато в программе потихоньку разбираюсь.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 902
Рейтинг: 27
#11: 2007-02-17 23:21:31 ЛС | профиль | цитата
Извините у меня ещё один вопрос:

start Govorilka.exe -e12 -s50 -c -d

Параметр "е" меняется отлично!
Но нельзя ли как нибудь менять и параметр:"s"?
Ведь при замене е12 поиск начального блока изменяется и не возможно задать начальный блок для s.
А можно ли как нибудь обойти это?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#12: 2007-02-18 09:49:09 ЛС | профиль | цитата
Из произнесенного в этом топике пока вообще непонятно, причем здесь какие-то "поиски", и какие-то "замены"
code_992
карма: 9

0
файлы: 1code_992.txt [906B] [298]
Ответов: 902
Рейтинг: 27
#13: 2007-02-18 21:33:09 ЛС | профиль | цитата
Извинаюсь!- Я просто очень тупой!
Однако это именно то что мне было нужно!
В смысле не тупизны,а схемы.
Огромное СПАСИБО!!!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3514
Рейтинг: 184
#14: 2007-02-18 21:45:23 ЛС | профиль | цитата
juk, а нафига себя делать ещё тупее,говоря что ты тупой? Если ты не знаешь как сделать в хиасме что либо это ещё ничего не говорит о других областях. Может ты проффесор гарварда, а мы тут соглашаемся ))
карма: 0
0
Ответов: 902
Рейтинг: 27
#15: 2007-02-18 23:27:28 ЛС | профиль | цитата
Да нет,чесно!-Я тупой!
Поэтому у меня ещё один тупой вопрос:
С созданием строк по маске я ещё разбираюсь так-что не подскажите,
а как сделать чтоб эти данные выводились в поле ввода.
Тоесть при каждой загрузке программы было видно какие значения там находятся?

А в приципе можно было сделать тоже самое с помощью поиска и замены как я пытался или с
заменой из буфера обмена?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)