Проект "Справочник"
|
|
Serg | Дата: Вторник, 26 Мая 2009, 01:14 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Вот сделал справочник. Этот проект может послужить примером,если это так,то скажите,тогда я доделаю ещё несколько функций и опишу в проект что да как. Но есть один вопрос,как можно убрать вот эти вещи(расширения)
Сообщение отредактировал Serg - Вторник, 26 Мая 2009, 01:15 |
|
| |
Alex3A | Дата: Вторник, 26 Мая 2009, 02:16 | Сообщение # 2 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| ..... RetStringgg$=StrFromFile(C:\База.txt,Rt,1) RetStringgg$=ExtractName(RetStringgg$).....
|
|
| |
YURIY | Дата: Вторник, 26 Мая 2009, 02:53 | Сообщение # 3 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Serg, что проект делает в свободном общении, если это проект MMB?
Вечная память Андрею Сергееву!
|
|
| |
Serg | Дата: Вторник, 26 Мая 2009, 11:07 | Сообщение # 4 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| YURIY,я хотел сначало доделать до конца,а потом уж опубликовывать. Alex3A,если я уберу разрешение,то у меня не будет грузится текст,ведь номера загружаемых строк зависят от числа разрешения. Вот бы была фича скрывать разрешение в листе.
|
|
| |
Alex3A | Дата: Вторник, 26 Мая 2009, 12:28 | Сообщение # 5 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Все от непонимания сути, лист предназначен для ПОКАЗА, в нем ты показываеш все что тебе надо, все остальное ты можеш держать в отдельном массиве, и с ним работать.
|
|
| |
Serg | Дата: Вторник, 26 Мая 2009, 12:37 | Сообщение # 6 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| но ведь d присваивается значение нужного расширения в зависимости от нажатия на определённый элемент Quote ListBoxGetSelectedItems("SongList","Items$,NumItems$,#,Count") Item$=GetArrayItem(Items$,#,Count) Rt$=ExtractExt(Item$) Reg$=StrDel(Rt$ ,1,1) d=VAL(Reg$) For l=7 To 1 d=d-1 RSt$=StrFromFile(C:\База.txt,d,1) LoadText("EditBox[l]","RSt$") Next l
|
|
| |
Alex3A | Дата: Вторник, 26 Мая 2009, 13:03 | Сообщение # 7 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Нумерация в списке и в массиве одинаковая, при клике по списку получаеш номер строки - он же номер твоей полной записи в масиве. Какие могут быть проблемы?
|
|
| |
Serg | Дата: Вторник, 26 Мая 2009, 14:06 | Сообщение # 8 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Непонял.У меня же,например если "разрешение" =8,то загружаются строки с 7 по 1. Зачем мне номер строки?
|
|
| |
Alex3A | Дата: Вторник, 26 Мая 2009, 20:42 | Сообщение # 9 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Не хочеш думать! У тебя есть ряд строк, формата: "что то там.что то здесь", ты хочеш показывать только первую часть- "что то там", но для работы тебе нужна и вторая половина "что то здесь". Если строки у тебя идут последовательно, то номер строки в списке дает указатель на номер строки в масиве, таким образом ты находиш полную строку. Плач типа (с обратной нумерацией), для детишек не знакомых с математикой, номер строки в списке, вычисляем - номер в масиве, 1 8-1=7 2 8-2=6 3 8-3=5 ... 7 8-7=1 В случае если у тебя в списке вообще безсистемный набор, то это тоже не сложно, при заполнении листбокса, делай масив индексов, для выведеной, в лист бокс порции. Щелкнул по списку, определил номер выбраной строки, считал, из ранее созданого масива индексов, номер по которому находится даная строка в основном масиве, получил ее и пользуйся. Связанные данные... Или снова непонятно?
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 07:47 | Сообщение # 10 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| 1 8-1=7 а во второй строчке у меня должно быть число 16,и загружаем строки 15.14.13.12..
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 10:50 | Сообщение # 11 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (Alex3A) В случае если у тебя в списке вообще безсистемный набор, то это тоже не сложно, при заполнении листбокса, делай масив индексов, для выведеной, в лист бокс порции. Щелкнул по списку, определил номер выбраной строки, считал, из ранее созданого масива индексов, номер по которому находится даная строка в основном масиве, получил ее и пользуйся. Связанные данные...
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 11:06 | Сообщение # 12 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Стоп.не надо пока подсказывать,кажись сам разоьрался Потом спрошу ещё кое что.
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 11:26 | Сообщение # 13 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Алекс,разобрался как сделать если обьекты будут идти попорядку,т.е в последовательности 1..2..3,оказалось очень просто,я ступил. Не получается сделать если будет сортировка по имени,подскажи.
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 11:57 | Сообщение # 14 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Вот тут то ты и попался! Ну ниче, придумем. Так. Сортировку ты производиш прям в листе, ибо автономной сортировки нет. Тут надо исхитриться, предлагаю два листа, первый содержит полные строки, и находится за пределами окна проекта (то есть невидим, но как програмный элемент доступен), второй для показа и выбора, содержит сокращенные строки. Загнали в первый, отсортировали, сняли сливки и показали в другом листе. Есть определенный подводный камень - если не изменяет память, лист что то делает только тогда когда видим, если так, то можно попробывать следующее- вывести его и показать в каком то месте на окне, но сделав его размеры небольшими, так что бы его было почти не видно. В общем проведи ряд экскрементов
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 12:17 | Сообщение # 15 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Блин,вот можно было бы скрывать разрешение в листе,было бы всё так просто Добавлено (27 Май 2009, 12:17) --------------------------------------------- если сделать ещё один текстовый файл,можно сделать,в него будет записываться позиция.Но это уже получается 2 файла,ээээ,не хочу,я сначало так делал,а потом захотел сделать так,чтобы всё сохранялось в одном. Есть программы,напрмер для создания айськью ботов,там например есть функция отправки анекдотов,а анекдоты записаны в текстовый файл вот в таком виде. [Анекдот1] Индийский программистский офис: руководитель проекта: Нагенерил Мудрапраграм программер: Ражалпраграм Наджави тестировщик: Струдомпрассал Вашапраграм специалист по тендерам: Ваштонивайдет Всепросиранд HR Director: Триразобосрал Своякоманда офис менеджер: Нипрастая Лахудра юрист: Невижувашазаява секретарь: Дасамата Шалава. [Анекдот2] На лекции в медицинском институте. Профессор: - ...также в семени мужчины содержится большое колличество глюкозы... Студенка: - Профессор, вы имеете ввиду такую же глюкозу, как в сахаре? Профессор: - Совершенно верно: Студентка: - Тогда почему она не сладкая? Все заржали, герла покраснела, а препод невозмутимо сказал: - Потому, дорогуша, что вкусовые рецепторы, отвечающие за сладкий вкус, находятся на кончике языка, а не на гландах.....! [Анекдот3]........... Вот по такому принципу,и программа знает какой анекдот нужно вывести. Может и ММБ на это способно?
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 12:20 | Сообщение # 16 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| А ты посмотри, какой знак используется в качестве разделителя в плей листах, такую фичу давно используют, даже где то пример был на сайте. Да и в хелпе должно быть, носом не ткну, пишу чисто по памяти, а покопаться нет времени, и есть лень. А то что я тебе понаписывал, тоже не безполезно, еще пригодится в иных случаях.
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 12:24 | Сообщение # 17 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| а про меня чего то говорит Сейчас поищу чего нибудь интересное.
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 13:24 | Сообщение # 18 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Поищи, Rush об этом писал, я никогда не использовал эту фичу, и необходимости, для себя не вижу ее использовать. Сходные проблемы решаю одним из вышеизложенных методов. Лень, у меня, состоит не в лени, а в нежелании переключаться с одной, крупной, задачи на другую
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 13:43 | Сообщение # 19 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Quote Лень, у меня, состоит не в лени Сможеш обьяснить это америкосу?
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 14:35 | Сообщение # 20 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (Serg) Но это уже получается 2 файла, Нет файл должен быть всего один, все остальное только его "представления". Представь себе таблицу, каждая строка описывает один объект, каждый столбец описывает какую либо характеристику этого объекта, доступ к описанию конкретного объекта по номеру строки в таблице, доступ к любому его свойству соответствующий столбец в строке описывающей объект. И того, по сути, это база данных. Я бы ее и решал на основе базы.
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 18:19 | Сообщение # 21 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Придумал.Позже выложу проект. Добавлено (27 Май 2009, 18:19) --------------------------------------------- Неполучилось
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 19:16 | Сообщение # 22 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| По моему, тебе надо изменить коцепсию и алгоритм работы, ибо ты начинаеш изобретать какой то непонятный механизм, что уже и сам запутался в своих скриптах. Судя по названию проекта особых сложностей быть не должно. Сначала сформулируй человеческим языком, что должен он делать. Затем сформулируем алгоритм его работы, а уж потом будем искать механизмы реализации.
|
|
| |
YURIY | Дата: Среда, 27 Мая 2009, 19:33 | Сообщение # 23 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Serg, мало на сайте аналогичных проектов, чтобы "подсмотреть"?
Вечная память Андрею Сергееву!
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 19:38 | Сообщение # 24 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (YURIY) мало на сайте аналогичных проектов, чтобы "подсмотреть"? Мож он хочет чего эксклюзивного наваять?
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 21:10 | Сообщение # 25 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Так то делаю справочник. Но хочу сделать алгоритм сохранения любых данны в текстовый файл,с возможностью их дальнейшего использования. Но сложность в том,чтобы одному слову(или например Фамилия инициалы,как в проекте)соответствовала соответствующая информация.База данных,как сказал Алекс.Добавлено (27 Май 2009, 20:34) --------------------------------------------- Всё получилось,но если только в определённой последовательности просматривать данные,или если не использовать разрешение. Добавлено (27 Май 2009, 21:10) --------------------------------------------- А можно сделать,чтобы при нажатии на определённую строку в одном листе,во втором нажималась таже строчка?
|
|
| |
YURIY | Дата: Среда, 27 Мая 2009, 21:57 | Сообщение # 26 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (Serg) А можно сделать,чтобы при нажатии на определённую строку в одном листе,во втором нажималась таже строчка? Как это понимать? Может, "выделялась"?
Вечная память Андрею Сергееву!
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 22:04 | Сообщение # 27 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Ну смотри.Допустим у меня в одном листе,дополнительном,будут загружены строки с расширением,а во втором,только строки.Я хочу показать только строки,без расширения. И мне нужно чтобы при нажатии на один из элементов основного листа,"нажималась" та же строка,только во втором дополнительном,т.е. надо чтоб разрешение загрузилось.
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 22:40 | Сообщение # 28 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (Serg) в том,чтобы одному слову(или например Фамилия инициалы,как в проекте)соответствовала соответствующая информация Конечно, не только можно, но и нужно. Мало того, по этому принципу устроена любая база данных. Что такое база данных - собрание любых однотипных данных. Однотипных, может не совсем корректное определение, может "могущих иметь одинаковое описание", самый примитивный пример баз, список людей, книг, телефонов и прочия. Короче, все можно описать и хранить в базе данных, к примеру, мой сайт - база данных. Форматов баз очень много, они могут быть как стандартные так и сделаные самостоятельно, любой список уже бза данных. Тут на сайте имеются примеры и тех и других, кулинарная книга as-masterа яркий пример самодельной базы данных, база в текстовом файле с разделителями. Стандартные форматы имеют всевозможные механизмы, реализующие дополнительные удобства поиск и прочая. Quote (Serg) А можно сделать,чтобы при нажатии на определённую строку в одном листе,во втором нажималась таже строчка? А надо ли тебе это? И что такое "нажималась", если это клик мышки, то через плагин, а если тебе просто надо выполнить скрипт срабатывающий при клике, то это достигается иными методами. При клике на первом списке, выполняется скрипт, который получает номер выбранной строки, имея который ты можеш аналогично выполнить скрипт второго листа, и если надо сделать активной нужную строку на втором.
|
|
| |
Serg | Дата: Среда, 27 Мая 2009, 22:46 | Сообщение # 29 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| А как сделать строку активной?
|
|
| |
Alex3A | Дата: Среда, 27 Мая 2009, 23:00 | Сообщение # 30 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (Serg) А как сделать строку активной? Ну, хелп то почитай, что ли.Добавлено (27 Май 2009, 23:00) --------------------------------------------- Я тут тебе про корабли, бороздящие....
|
|
| |