Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Сортировка списка по алфавиту
GuliveRДата: Ср, 07 Ноября 2012, 01:20 | Сообщение # 1
Новичок
Здравствуйте! Нужна помощь. Проблема такая. Есть папка "Users" с файлами. С помощью плагина LgaFileSys, создаю файл со списком файлов которые находятся в этой папке:
Code
lgaFilelist "[PubDir]Users" "*.ini" "[PubDir]Print\PrintAllTemp.ini" "0" "0" "0"

В папке "Users" файлы расположены по алфавиту. А список в "PrintAllTemp.ini" получается совсем не по алфавиту. Вот никак не получается отсортировать список. Может кто поможет в решении этой проблемы?
 
СообщениеЗдравствуйте! Нужна помощь. Проблема такая. Есть папка "Users" с файлами. С помощью плагина LgaFileSys, создаю файл со списком файлов которые находятся в этой папке:
Code
lgaFilelist "[PubDir]Users" "*.ini" "[PubDir]Print\PrintAllTemp.ini" "0" "0" "0"

В папке "Users" файлы расположены по алфавиту. А список в "PrintAllTemp.ini" получается совсем не по алфавиту. Вот никак не получается отсортировать список. Может кто поможет в решении этой проблемы?

Автор - GuliveR
Дата добавления - 07 Ноября 2012 в 01:20
PeterДата: Ср, 07 Ноября 2012, 01:51 | Сообщение # 2
Админ NeoBook
GuliveR, добро пожаловать на форум!

Для начала небольшое замечание: согласно раздела IV Правил форума запрещается создание дубликатов тем.
Пожалуйста, впредь будьте аккуратнее.

Что касается вопроса, то "проблему" можно решить собственными средствами NB без помощи плагинов.

Вот примерно так может выглядеть решение:

Code

FolderBox "Выбрать папку" "[OpenFolder]"
If "[OpenFolder]" "<>" ""
     FileList "[OpenFolder]\*.*" "Files" "[Files]"
     StrReplace "[Files]" "[#13]" "[#13][#10]" "[Files]" ""
     FileWrite "Имя файла" "All" "[Files]"
EndIf


К сведению: у штатного объекта ListBox (ComboBox) существует опция автоматической сортировки списка по алфавиту (а в случае необходимости "ручной" сортировки - команда ListBoxSort)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеGuliveR, добро пожаловать на форум!

Для начала небольшое замечание: согласно раздела IV Правил форума запрещается создание дубликатов тем.
Пожалуйста, впредь будьте аккуратнее.

Что касается вопроса, то "проблему" можно решить собственными средствами NB без помощи плагинов.

Вот примерно так может выглядеть решение:

Code

FolderBox "Выбрать папку" "[OpenFolder]"
If "[OpenFolder]" "<>" ""
     FileList "[OpenFolder]\*.*" "Files" "[Files]"
     StrReplace "[Files]" "[#13]" "[#13][#10]" "[Files]" ""
     FileWrite "Имя файла" "All" "[Files]"
EndIf


К сведению: у штатного объекта ListBox (ComboBox) существует опция автоматической сортировки списка по алфавиту (а в случае необходимости "ручной" сортировки - команда ListBoxSort)

Автор - Peter
Дата добавления - 07 Ноября 2012 в 01:51
GuliveRДата: Ср, 07 Ноября 2012, 02:26 | Сообщение # 3
Новичок
Quote
Пожалуста, впредь будьте аккуратнее

Случайно вышло. Впредь буду внимателен.

Оказалось что плагин не причём. Сделал так:
Code
   FileList "[PubDir]\Users\*.ini" "Files+NoExt" "[SpisokFailov]"
    StrReplace "[SpisokFailov]" "[#13]" "[#13][#10]" "[Files]" ""
    FileWrite "[PubDir]Print\PrintAllTemp.ini" "All" "[Files]"

Всё равно не по алфавиту, в разброс, но этот разброс не рандомный. Имена файлов состоят из трёх слов: "Фамилия Имя Отчество.ini"
Список нужен не для отображения где либо, а для того чтобы записать имена файлов в отдельные переменные.
 
Сообщение
Quote
Пожалуста, впредь будьте аккуратнее

Случайно вышло. Впредь буду внимателен.

Оказалось что плагин не причём. Сделал так:
Code
   FileList "[PubDir]\Users\*.ini" "Files+NoExt" "[SpisokFailov]"
    StrReplace "[SpisokFailov]" "[#13]" "[#13][#10]" "[Files]" ""
    FileWrite "[PubDir]Print\PrintAllTemp.ini" "All" "[Files]"

Всё равно не по алфавиту, в разброс, но этот разброс не рандомный. Имена файлов состоят из трёх слов: "Фамилия Имя Отчество.ini"
Список нужен не для отображения где либо, а для того чтобы записать имена файлов в отдельные переменные.

Автор - GuliveR
Дата добавления - 07 Ноября 2012 в 02:26
PeterДата: Ср, 07 Ноября 2012, 02:56 | Сообщение # 4
Админ NeoBook
Quote (GuliveR)
Всё равно не по алфавиту, в разброс,

Почему?
Команда FileList автоматически сортирует имена файлов по алфавиту.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (GuliveR)
Всё равно не по алфавиту, в разброс,

Почему?
Команда FileList автоматически сортирует имена файлов по алфавиту.

Автор - Peter
Дата добавления - 07 Ноября 2012 в 02:56
GuliveRДата: Ср, 07 Ноября 2012, 03:42 | Сообщение # 5
Новичок
Quote (Peter)
Команда FileList автоматически сортирует имена файлов по алфавиту.

и я о том же.
Вот файлы в папке "Users":

А вот содержание файла "PrintAllTemp.ini":

Ни чего не пойму, почему не получается.

Добавлено (07 Ноября 2012, 03:31)
---------------------------------------------
Картинки местами перепутал.
Всё это нужно для вывода на печать список имён файлов, с данными из соответствующего файла.
Делаю так:

Code
   FileList "[PubDir]\Users\*.ini" "Files+NoExt" "[SpisokFailovTestiruemix]"
    StrReplace "[SpisokFailovTestiruemix]" "[#13]" "[#13][#10]" "[Files]" ""
    FileWrite "[PubDir]Print\PrintAllTemp.ini" "All" "[Files]"

    FileLen "[PubDir]Print\PrintAllTemp.ini" "[KolichStrok]"
     
    Loop "1" "[KolichStrok]" "[i]"
       FileRead "[PubDir]Print\PrintAllTemp.ini" "[i]" "[User]"
       FileRead "[PubDir]Users\[User].ini" "1" "[1]"
       FileRead "[PubDir]Users\[User].ini" "2" "[2]"
       FileRead "[PubDir]Users\[User].ini" "3" "[3]"
       FileRead "[PubDir]Users\[User].ini" "4" "[4]"
       FileWrite "[PubDir]Print\PrintAll.ini" "Append" "[User]:  a-[2],  b-[3],  c-[4],  d- [1]"
    EndLoop

    PrintTextFile "Результаты тестирования программой [#34][PubTitle] [PubVersion][#34]" "[PubTitle] [PubVersion]   [DateShort]   [Time24]   страница &p" "[PubDir]Print\PrintAll.ini"
    FileErase "[PubDir]Print\PrintAll.ini"
    FileErase "[PubDir]Print\PrintAllTemp.ini"

Может что-то делаю не так?

Добавлено (07 Ноября 2012, 03:42)
---------------------------------------------
И вот что выдаёт на печать:

Code

Иванов Иван Иванович:  a-0,  b-3,  c-,  d- 06.11.2012  18:53:53
Фёдоров Андрей Андреевич:  a-2,  b-1,  c-,  d- 04.11.2012  14:54:17
Сидорова Мария Ивановна:  a-3,  b-0,  c-,  d- 06.11.2012  18:28:58
Андреев Андрей Андреевич:  a-,  b-,  c-,  d-  


А если список будет большим, то на напечатанном листе будет долго найти нужного человека.
:(
Прикрепления: 6511769.png (16.5 Kb) · 3115672.png (6.8 Kb)
 
Сообщение
Quote (Peter)
Команда FileList автоматически сортирует имена файлов по алфавиту.

и я о том же.
Вот файлы в папке "Users":

А вот содержание файла "PrintAllTemp.ini":

Ни чего не пойму, почему не получается.

Добавлено (07 Ноября 2012, 03:31)
---------------------------------------------
Картинки местами перепутал.
Всё это нужно для вывода на печать список имён файлов, с данными из соответствующего файла.
Делаю так:

Code
   FileList "[PubDir]\Users\*.ini" "Files+NoExt" "[SpisokFailovTestiruemix]"
    StrReplace "[SpisokFailovTestiruemix]" "[#13]" "[#13][#10]" "[Files]" ""
    FileWrite "[PubDir]Print\PrintAllTemp.ini" "All" "[Files]"

    FileLen "[PubDir]Print\PrintAllTemp.ini" "[KolichStrok]"
     
    Loop "1" "[KolichStrok]" "[i]"
       FileRead "[PubDir]Print\PrintAllTemp.ini" "[i]" "[User]"
       FileRead "[PubDir]Users\[User].ini" "1" "[1]"
       FileRead "[PubDir]Users\[User].ini" "2" "[2]"
       FileRead "[PubDir]Users\[User].ini" "3" "[3]"
       FileRead "[PubDir]Users\[User].ini" "4" "[4]"
       FileWrite "[PubDir]Print\PrintAll.ini" "Append" "[User]:  a-[2],  b-[3],  c-[4],  d- [1]"
    EndLoop

    PrintTextFile "Результаты тестирования программой [#34][PubTitle] [PubVersion][#34]" "[PubTitle] [PubVersion]   [DateShort]   [Time24]   страница &p" "[PubDir]Print\PrintAll.ini"
    FileErase "[PubDir]Print\PrintAll.ini"
    FileErase "[PubDir]Print\PrintAllTemp.ini"

Может что-то делаю не так?

Добавлено (07 Ноября 2012, 03:42)
---------------------------------------------
И вот что выдаёт на печать:

Code

Иванов Иван Иванович:  a-0,  b-3,  c-,  d- 06.11.2012  18:53:53
Фёдоров Андрей Андреевич:  a-2,  b-1,  c-,  d- 04.11.2012  14:54:17
Сидорова Мария Ивановна:  a-3,  b-0,  c-,  d- 06.11.2012  18:28:58
Андреев Андрей Андреевич:  a-,  b-,  c-,  d-  


А если список будет большим, то на напечатанном листе будет долго найти нужного человека.
:(

Автор - GuliveR
Дата добавления - 07 Ноября 2012 в 03:42
DEMBELДата: Ср, 07 Ноября 2012, 07:02 | Сообщение # 6
Наш дизайнер
а что записано в ini файлах-то? и что именно нужно напечатать, просто список имен (файлов) или содержимое файлов тоже нужно? соберите демку из всех файлов и проекта и выложите, и что должно получиться при печати, так будет проще разобраться.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеа что записано в ini файлах-то? и что именно нужно напечатать, просто список имен (файлов) или содержимое файлов тоже нужно? соберите демку из всех файлов и проекта и выложите, и что должно получиться при печати, так будет проще разобраться.

Автор - DEMBEL
Дата добавления - 07 Ноября 2012 в 07:02
GuliveRДата: Ср, 07 Ноября 2012, 07:21 | Сообщение # 7
Новичок
Проблема : Контроль(пароль 123456) - Печать - Печать всего списка.
откроется окно настройки принтера. не закрывая его, откройте папку Print , там 2 файла. или можете распечатать.

Добавлено (07 Ноября 2012, 07:18)
---------------------------------------------
как выложить файл?
чтото не получается

Добавлено (07 Ноября 2012, 07:21)
---------------------------------------------
http://narod.ru/disk....ip.html

 
СообщениеПроблема : Контроль(пароль 123456) - Печать - Печать всего списка.
откроется окно настройки принтера. не закрывая его, откройте папку Print , там 2 файла. или можете распечатать.

Добавлено (07 Ноября 2012, 07:18)
---------------------------------------------
как выложить файл?
чтото не получается

Добавлено (07 Ноября 2012, 07:21)
---------------------------------------------
http://narod.ru/disk....ip.html


Автор - GuliveR
Дата добавления - 07 Ноября 2012 в 07:21
mishemДата: Ср, 07 Ноября 2012, 07:38 | Сообщение # 8
Эксперт форума
Смотри пример
Прикрепления: 3788604.zip (2.2 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеСмотри пример

Автор - mishem
Дата добавления - 07 Ноября 2012 в 07:38
DEMBELДата: Ср, 07 Ноября 2012, 07:47 | Сообщение # 9
Наш дизайнер
Quote (GuliveR)
Ни чего не пойму, почему не получается.

странно у меня получается все по алфавиту

В вашем коде никакой сортировки нет, как команда FileList прочитает список файлов в папке так он и запишется. Если и вправду автоматом сортирует по алфавиту... а может используется системная сортировка заданная для папки? Попробуйте если не получается все-таки принудительно класть список файлов в ListBox и сортировать его ListboxSort, и потом брать по очереди оттуда.

Добавлено (07 Ноября 2012, 07:47)
---------------------------------------------
я про пост номер 5

Прикрепления: 9670443.png (21.6 Kb)


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (GuliveR)
Ни чего не пойму, почему не получается.

странно у меня получается все по алфавиту

В вашем коде никакой сортировки нет, как команда FileList прочитает список файлов в папке так он и запишется. Если и вправду автоматом сортирует по алфавиту... а может используется системная сортировка заданная для папки? Попробуйте если не получается все-таки принудительно класть список файлов в ListBox и сортировать его ListboxSort, и потом брать по очереди оттуда.

Добавлено (07 Ноября 2012, 07:47)
---------------------------------------------
я про пост номер 5


Автор - DEMBEL
Дата добавления - 07 Ноября 2012 в 07:47
GuliveRДата: Ср, 07 Ноября 2012, 07:48 | Сообщение # 10
Новичок
mishem, спасибо за помощь! Я пошёл по большому пути, а оказалось немного проще
 
Сообщениеmishem, спасибо за помощь! Я пошёл по большому пути, а оказалось немного проще

Автор - GuliveR
Дата добавления - 07 Ноября 2012 в 07:48
mishemДата: Ср, 07 Ноября 2012, 08:17 | Сообщение # 11
Эксперт форума
Quote (GuliveR)
Я пошёл по большому пути

Нужно внимательней читать что пишут. Петр в первом посте указал на объект листбокс.
Для новичка простительно. :)
Это самый оптимальный вариант сортировки и получения данных без дополнительных файлов.
Сам объект можно прятать если не нужна информация.

Еще нужно учитывать момент, что символы на латинеце при сортировке будут находится вверху, на кирилице внизу. ;)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Ср, 07 Ноября 2012, 08:18
 
Сообщение
Quote (GuliveR)
Я пошёл по большому пути

Нужно внимательней читать что пишут. Петр в первом посте указал на объект листбокс.
Для новичка простительно. :)
Это самый оптимальный вариант сортировки и получения данных без дополнительных файлов.
Сам объект можно прятать если не нужна информация.

Еще нужно учитывать момент, что символы на латинеце при сортировке будут находится вверху, на кирилице внизу. ;)

Автор - mishem
Дата добавления - 07 Ноября 2012 в 08:17
  • Страница 1 из 1
  • 1
Поиск: