Вверх ↑
Этот топик читают: Гость
Ответов: 7
Рейтинг: 0
#1: 2019-09-20 11:03:05 ЛС | профиль | цитата
Screenshot_1.png
Screenshot_2.png
Screenshot_3.png
Screenshot_4.png
Screenshot_5.png

Проблема первая заключается в том что при подгрузке текстового файла с настройками авто в выпадающий список - там отображается всё... включая и ненужные для показа строки.. как скрыть ненужное что зачёркнуто на скриншоте 3 ?????????????? как сделать так что бы работать в программе только со средней частью всего текстового файла? скажем например начиная с 15 строки и заканчивая 33 строкой.... а всё что в не диапазона скрыть и не редактировать!
Идём дальше...

КАК заставить строку разбитую на части пробелами, разойтись по отдельным текстовым формам? как показано на скриншоте 5 ?
причём количество пробелов через каждый блок - разное.. например Скрыть название машины LANDSTAL затем через примерно 5 пробелов взять значение массы и отобразить его в первом текстовом поле с возможностью его изменять прописывая другое значение? и так далее каждое значение распихать?
Причём следующее название авто в списке например ADMIRAL отделено другим количеством пробелов от следующего значения.....
ПОМОГИТЕ МНЕ РЕШИТЬ ЭТИ ЗАДАЧИ..... я новичок ...
Пересмотрел все уроки и ничего не нашёл как это делается?


Редактировалось 1 раз(а), последний 2019-09-20 12:26:45
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Главный модератор
Ответов: 2997
Рейтинг: 395
#2: 2019-09-20 11:45:28 ЛС | профиль | цитата
Как ПРАВИЛЬНО просить о помощи?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 4621
Рейтинг: 746
#3: 2019-09-20 12:29:05 ЛС | профиль | цитата
dunottrue писал(а):
там отображается всё... включая и ненужные для показа строки.. как скрыть ненужное что зачёркнуто на скриншоте 3 ?
Дал команду "загрузить весь файл в список" - оно так и делает. Сама программа никак не может знать что из этого файла нужно, а что нет. Значит должен сам обработать каждую строку: та, которая подходит по условию, добавляется в список (или с другой стороны: та, которая не подходит по условию - в список не добавляется). Вначале загружаешь файл в невидимый список строк StrList, затем с помощью перебора строк в списке и компонентов работы со строками добавляешь нужные строки в видимый список.

dunottrue писал(а):
КАК заставить строку разбитую на части пробелами, разойтись по отдельным текстовым формам?
Заменить все идущие подряд пробелы на 1 пробел. Затем разбить полученную строку по пробелу. Компоненты вкладки "Строки".

Редактировалось 3 раз(а), последний 2019-09-20 12:32:50
карма: 26

0
Ответов: 7
Рейтинг: 0
#4: 2019-09-20 12:29:36 ЛС | профиль | цитата
Netspirit писал(а):
Дал команду "загрузить весь файл в список" - оно так и делает. Сама программа никак не может знать что из этого файла нужно, а что нет. Значит должен сам обработать каждую строку: та, котороая подходит по условию, добавляется в список, остальные нет. Вначале загружаешшь файл в невидимый список строк StrList, затем с помощью перебора строк в списке и компонентов работы со строками добавлешь нужные строки в видимый список.

Можно по подробнее?

Netspirit писал(а):
Заменить все идущие подряд пробелы на 1 пробел. Затем разбить полученную строку по пробелу. Компоненты вкладки "Строки".

как же я заменю? в каждой строке своё количество пробелов между символами... И как это можно реализовать? я просто второй день ковыряюсь в программе и я никогда не связывался с написанием программ

Редактировалось 2 раз(а), последний 2019-09-20 12:34:28
карма: 0

0
Ответов: 1925
Рейтинг: 172
#5: 2019-09-20 13:06:58 ЛС | профиль | цитата
dunottrue,
dunottrue писал(а):
как сделать так что бы работать в программе только со средней частью всего текстового файла? скажем например начиная с 15 строки и заканчивая 33 строкой....


Add(DropFile,14470338,266,126)
{
link(onDropFile,13312380:doEvent1,[])
}
Add(StrList,10988134,378,98)
{
}
Add(Hub,13312380,329,126)
{
link(onEvent1,10988134:doLoad,[])
link(onEvent2,8106846:doFor,[(353,139)(353,181)])
}
Add(For,8106846,364,175)
{
Start=14
End=32
link(onEvent,12489996:doRead,[])
}
Add(ArrayRW,12489996,413,175)
{
link(onRead,762002:doAdd,[])
link(Array,10988134:Array,[(419,159)(398,159)])
}
Add(Memo,762002,490,175)
{
Left=30
Top=45
Width=335
Height=215
ScrollBars=3
}
Бросить файл настроек на форму.
Номера строк зависят от параметров цикла For - их и менять. Строки нумеруются с нуля (т.е. первая строка имеет индекс в массиве - 0).

dunottrue писал(а):
строку разбитую на части пробелами, разойтись по отдельным текстовым формам


Add(Edit,12045827,224,259)
{
Left=30
Top=20
Width=170
Text="landsad 1700 4541 845 4"
link(onEnter,2587504:doTrim,[])
}
Add(Trim,2587504,273,266)
{
Mode=7
link(onTrim,11638894:doEnum,[])
}
Add(Str_Enum,11638894,322,266)
{
Delimiter=" "
link(onEnum,7354593:doEvent,[])
}
Add(IndexToChanel,7354593,371,266)
{
Count=5
Point(Index)
link(onEvent2,14424782:doMessage,[])
link(Index,11638894:NumSubStr,[(377,254)(353,254)(353,310)(328,310)])
link(onEvent3,2700949:doMessage,[])
link(onEvent4,10341421:doMessage,[(425,293)(425,328)])
link(onEvent5,13155749:doMessage,[(425,300)(425,370)])
}
Add(Message,14424782,490,273)
{
Caption="1"
}
Add(Message,2700949,448,280)
{
Caption="2"
}
Add(Message,10341421,448,322)
{
Caption="3"
}
Add(Message,13155749,448,364)
{
Caption="4"
}
Trim при Mode=NormalText нормализует все пробелы в середине до одного. Str_Enum перебирает, IndexToChanel раскидывает по каналам.
карма: 9
0
Ответов: 7
Рейтинг: 0
#6: 2019-09-20 13:20:43 ЛС | профиль | цитата
3042 писал(а):
Бросить файл настроек на форму.
Номера строк зависят от параметров цикла For - их и менять. Строки нумеруются с нуля (т.е. первая строка имеет индекс в массиве - 0).

Правильно ли я понимаю? надо запихнуть этот скрипт в файл ini с любым именем
И перетянуть на само диалоговое окно моего проекта?

3042 писал(а):
Trim при Mode=NormalText нормализует все пробелы в середине до одного. Str_Enum перебирает, IndexToChanel раскидывает по каналам.

А с этим не совсем ясно... но попробую и гляну что выйдет..
Спасибо
карма: 0

0
Ответов: 4621
Рейтинг: 746
#7: 2019-09-20 13:25:46 ЛС | профиль | цитата
dunottrue писал(а):
как же я заменю? в каждой строке своё количество пробелов между символами...
Ну, заменяешь до тех пор, пока поиск 2-х пробелов в строке не найдёт ничего. Но 3042 дал более простое решение.
карма: 26

0
Ответов: 1925
Рейтинг: 172
#8: 2019-09-20 13:54:38 ЛС | профиль | цитата
dunottrue писал(а):
надо запихнуть этот скрипт в файл ini с любым именем
Этот "скрипт" копируется и вставляет прямо на поле hiasm
Потом запускается, и на него кидается твой файл с кучей строк.

Редактировалось 2 раз(а), последний 2019-09-20 13:56:23
карма: 9
0
Ответов: 7
Рейтинг: 0
#9: 2019-09-20 14:01:52 ЛС | профиль | цитата
3042 писал(а):
Этот "скрипт" копируется и вставляет прямо на поле hiasm
Потом запускается, и на него кидается твой файл с кучей строк.

Но куда? у меня в Hiasm нету текстовых полей куда можно вставлять текст...
И все панели я перебрал и не нашёл редакторов кода.
Может я что то не так делаю или не то скачал? у меня 186 билд последняя получается версия самой проги.
Кажется я начал понимать....
Правильно ли я сделал?
Просто нажал контрл В на самом редакторе и у меня что то появилось )
Screenshot_1.png

Редактировалось 1 раз(а), последний 2019-09-20 14:06:20
карма: 0

0
Ответов: 1925
Рейтинг: 172
#10: 2019-09-20 14:09:21 ЛС | профиль | цитата
ПКМ в hiasm:
карма: 9
0
Ответов: 7
Рейтинг: 0
#11: 2019-09-20 14:25:40 ЛС | профиль | цитата
3042 писал(а):
ПКМ в hiasm:


Всё подправил вот результат )
Screenshot_1.png
Огромнейшее спасибо. пока не могу + в карму кинуть... потому что я новичёк.
Но вы не представляете как помогли!
Если что можно будет тут ещё обратиться?
карма: 0

0
Ответов: 1925
Рейтинг: 172
#12: 2019-09-20 14:30:35 ЛС | профиль | цитата
dunottrue писал(а):
Если что можно будет тут ещё обратиться?

Конечно, форум для того и создан.
карма: 9
0
Ответов: 7
Рейтинг: 0
#13: 2019-09-20 16:35:10 ЛС | профиль | цитата
3042 писал(а):
Конечно, форум для того и создан.

У меня снова вопрос.
Наверное я совсем обнаглел... но у меня проблема с тем что я не знаю как сделать правильно порядок считывания и сохранения данных в файл.
Как видно на скриншоте 1 и 2, мне нужно данные из текстовых полей (их 30 штук) внести в поле с надписью Car но что бы сохранить форматирование строки т.е. Разделяя хотя бы 3 пробелами каждый параметр.
А затем как то сохранить обратно в файл который был загружен в программу, но сохранить нужно так что бы с 1 по 65 строку ничего не удалилось затем с 66 по 122 идут данные которые сохранились и с 123 по 125 строку опять что бы было не изменно.
Screenshot_1.png
Screenshot_2.png
Screenshot_3.png

Я даже не представляю как можно обработать это всё?
ВОТ НА ВСЯКИЙ СЛУЧАЙ Данный проект

Редактировалось 1 раз(а), последний 2019-09-20 16:40:55
карма: 0

0
Ответов: 1925
Рейтинг: 172
#14: 2019-09-20 17:21:17 ЛС | профиль | цитата
Ну, как-то так...
Я там только начал соединять поля с форматированием строки, надо закончить по аналогии, чтобы при изменении каждого поля изменялась строка.
А при Save, чтобы сохранение шло в ту же строку файла, которая загружена, надо прибавить к индексу списка число, вроде бы 65, но проверь точно.
карма: 9
0
файлы: 1gta3.rar [2KB] [392]
Ответов: 7
Рейтинг: 0
#15: 2019-09-20 17:38:13 ЛС | профиль | цитата
3042 писал(а):
Ну, как-то так...
Я там только начал соединять поля с форматированием строки, надо закончить по аналогии, чтобы при изменении каждого поля изменялась строка.
А при Save, чтобы сохранение шло в ту же строку файла, которая загружена, надо прибавить к индексу списка число, вроде бы 65, но проверь точно.


Спасибо

Редактировалось 1 раз(а), последний 2019-09-26 15:08:30
карма: 0

0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)