Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Проект "Справочник"
SergДата: Вторник, 26 Мая 2009, 01:14 | Сообщение # 1
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Вот сделал справочник.
Этот проект может послужить примером,если это так,то скажите,тогда я доделаю ещё несколько функций и опишу в проект что да как.
Но есть один вопрос,как можно убрать вот эти вещи(расширения)
Прикрепления: 4834582.zip (9.3 Kb) · 6452539.png (2.7 Kb)




Сообщение отредактировал 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
Не хочеш думать!
У тебя есть ряд строк, формата: "что то там.что то здесь",
ты хочеш показывать только первую часть- "что то там", но для работы
тебе нужна и вторая половина "что то здесь".
Если строки у тебя идут последовательно, то номер строки в списке дает
указатель на номер строки в масиве, таким образом ты находиш полную строку.
Плач типа
Quote (Serg)
с 7 по 1
(с обратной нумерацией), для детишек
не знакомых с математикой,
номер строки в списке, вычисляем - номер в масиве,
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,оказалось очень просто,я ступил.
Не получается сделать если будет сортировка по имени,подскажи.
Прикрепления: 5952373.mbd (486.4 Kb)


 
Alex3AДата: Среда, 27 Мая 2009, 11:57 | Сообщение # 14
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Вот тут то ты и попался!
Ну ниче, придумем.
Так. Сортировку ты производиш прям в листе, ибо автономной сортировки нет.
Тут надо исхитриться, предлагаю два листа, первый содержит полные строки,
и находится за пределами окна проекта (то есть невидим, но как програмный
элемент доступен), второй для показа и выбора, содержит сокращенные строки.
Загнали в первый, отсортировали, сняли сливки и показали в другом листе.
Есть определенный подводный камень - если не изменяет память, лист что то
делает только тогда когда видим, если так, то можно попробывать следующее-
вывести его и показать в каком то месте на окне, но сделав его размеры
небольшими, так что бы его было почти не видно.
В общем проведи ряд экскрементов :D
 
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
А ты посмотри, какой знак используется в качестве разделителя в плей листах,
такую фичу давно используют, даже где то пример был на сайте.
Да и в хелпе должно быть, носом не ткну, пишу чисто по памяти, а покопаться нет
времени, и есть лень. B)
А то что я тебе понаписывал, тоже не безполезно, еще пригодится в иных
случаях.
 
SergДата: Среда, 27 Мая 2009, 12:24 | Сообщение # 17
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
лень
а про меня чего то говорит :D
Сейчас поищу чего нибудь интересное.


 
Alex3AДата: Среда, 27 Мая 2009, 13:24 | Сообщение # 18
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Поищи, Rush об этом писал, я никогда не использовал эту фичу, и необходимости,
для себя не вижу ее использовать. Сходные проблемы решаю одним из вышеизложенных
методов.
Лень, у меня, состоит не в лени, а в нежелании переключаться с одной, крупной, задачи на другую :D
 
SergДата: Среда, 27 Мая 2009, 13:43 | Сообщение # 19
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
Лень, у меня, состоит не в лени

Сможеш обьяснить это америкосу? :D


 
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)
---------------------------------------------
Я тут тебе про корабли, бороздящие....

 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: