Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63

Сортировка данных в файле

24.11.2012, 01:04. Показов 3973. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл, данные которого вносятся вначале в Listbox? Потом эти данные сортируются. Одна кнопка для сортировки по алфавиту( буква задается), вторая для сортировки по группе(номер группы тоже задается)
с первой проблемой справился, но как сделать чтобы данные вводились в разных строках, а не в одной?
а два вторых не получаются..спасибо заранее
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Private Sub CommandButton1_Click()
' Відкриття файлу
On Error GoTo theend
Dim s As String
Dim ofm As String
intFH = FreeFile()
Open "D:\alala.txt" For Input As intFH
Do While Not EOF(intFH)
Line Input #intFH, ofm
s = s & ofm
Loop
Close #intFH
Dim text1() As String
Dim text2() As String
Dim x As Integer
Dim j As Integer
text2 = Split(s, "")
For x = 0 To UBound(text2)
If (Len(text2(x)) <> 0) Then
For j = 0 To UBound(text2)
ListBox1.AddItem (text2(j))
Next j
End If
Next x
theend:
End Sub
 
Private Sub CommandButton2_Click()
Dim s(100) As String
Dim temparr As String
Dim Sort(100) As String
 
i = 1
intFH = FreeFile()
Open "D:\alala.txt" For Input As #intFH
Do While Not EOF(intFH)
 Line Input #intFH, s(i)
 temparr = s(i)
 i = i + 1
 Loop
 Close #intFH
For j = 1 To i - 1
tmparr = Split(s(j), " ")
Sort(j) = tmparr(0)
Next
i2 = j - 1
j = 0
For i = 1 To i2 - 1
For j = i + 1 To i2
 If StrComp(Sort(i), Sort(j), vbTextCompare) > 0 Then
tmp = s(i)
s(i) = s(j)
s(j) = tmp
End If
Next
Next
 
 
 
End Sub
 
Private Sub CommandButton3_Click()
intFH = FreeFile()
Open "D:\alala.txt" For Output As #intFH
For j = 1 To i2
 
Print #intFH, s(j)
Next j
Close #intFH
 For j = 1 To i - 1
tmparr = Split(s(j), " ")
Sort(j) = tmparr(2)
Next
i2 = j - 1
j = 0
For i = 1 To i2 - 1
For j = i + 1 To i2
 If StrComp(Sort(i), Sort(j), vbTextCompare) > 0 Then
tmp = s(i)
s(i) = s(j)
s(j) = tmp
End If
Next
Next
 
intFH = FreeFile()
Open "D:\alala.txt" For Output As #intFH
For j = 1 To i2
 
Print #intFH, s(j)
Next j
Close #intFH
End If
End Sub
 
Private Sub CommandButton4_Click()
TextBox1.Value = ""
TextBox2.Value = ""
ListBox1.Clear
End Sub
 
Private Sub CommandButton5_Click()
Unload Me
End Sub
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.11.2012, 01:04
Ответы с готовыми решениями:

Сортировка данных в файле
В файле находится список имен. Нужно, чтобы программа рассортировала по алфавиту эти имена. Число имен в файле 20. Большая просьба, чтобы...

Сортировка данных в файле
У меня есть написанная программа. Открывает текстовые файлы, сортирует в них данные. Помогите дописать корректировку данных, при нажатии...

Сортировка данных в файле
Написать КФ SORT_FD.BAT для сортировки файла данных по алфавиту, со следующей программной функцией: • отключить эхо-сопровождение; ...

21
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
24.11.2012, 07:28
Цитата Сообщение от tarik ukraine Посмотреть сообщение
но как сделать чтобы данные вводились в разных строках, а не в одной?
в какой процедуре вводятся данные, которые должны быть в разных строках?
0
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
24.11.2012, 13:54  [ТС]
Цитата Сообщение от Скрипт Посмотреть сообщение
в какой процедуре вводятся данные, которые должны быть в разных строках?
вот этот код выводит в листбокс. Но в файле данные в разных строках, а в листбокс выводит а одной(
Visual Basic
1
2
3
4
5
6
7
For x = 0 To UBound(text2)
If (Len(text2(x)) <> 0) Then
For j = 0 To UBound(text2)
ListBox1.AddItem (text2(j))
Next j
End If
Next x
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
24.11.2012, 15:33
10-я строка этого кода
Visual Basic
1
s = s & ofm & vbcrlf
17-я -
Visual Basic
1
text2 = Split(s, vbcrlf)

Не по теме:

Дальше не листал:pardon:

1
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
24.11.2012, 16:09  [ТС]
спасибо!
а на счет сортировки по алфавиту и цифре можете помочь?)
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
24.11.2012, 16:14
Сортировка массива: Array.Sort(MyArr)
1
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
24.11.2012, 16:18  [ТС]
Цитата Сообщение от Romas654 Посмотреть сообщение
Сортировка массива: Array.Sort(MyArr)
а если не через массив?
в коде можете исправить ошибку? там все должно работать..если например, сортировать в том же listbox
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,705
Записей в блоге: 14
24.11.2012, 16:49
Цитата Сообщение от Romas654 Посмотреть сообщение
Сортировка массива: Array.Sort(MyArr)
- ценное замечание для VBA...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.11.2012, 22:32
Цитата Сообщение от Romas654 Посмотреть сообщение
Сортировка массива: Array.Sort(MyArr)
Можно подробнее?
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
24.11.2012, 23:37
ну ладно вам
ну попутал человек VBA и VB.NET
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,705
Записей в блоге: 14
24.11.2012, 23:42
Цитата Сообщение от ikki Посмотреть сообщение
ну попутал человек VBA и VB.NET
- у меня такие ответы вызывают злую иронию... Зачем знать алгоритмы сортировок, когда есть A.Sort?
0
24.11.2012, 23:52

Не по теме:

плата за прогресс.
я вот ассемблер не знаю. и как там выравниваются байты в словах - не в курсе. и как процессор расправляется с очередями и прогнозирует и предвычисляет и по ядрам делит - тоже.
пишу dim s$ или dim i% и не задумываюсь :(

0
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
25.11.2012, 00:13  [ТС]
может лучше по поводу вопроса так отвечать будете?)
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
25.11.2012, 00:28
честно говоря, я вопрос не очень понял. точнее - очень не понял.

xls- и txt-файлов нет,
код записан без отступов,
и он дли-и-инный.


Добавлено через 5 минут
а вот над этим я уже минут десять голову ломаю:
Цитата Сообщение от tarik ukraine Посмотреть сообщение
а два вторых не получаются..
и никак не могу понять - о чем это?
0
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
25.11.2012, 00:30  [ТС]
2.txt
текстовый я вложил..а xls там этот код ..листбокс, куда выводятся данные, потом два текстбокса. первый для сортировки по заданной букве, а второй - по группе) вот как-то так) это тестовый текстовый файл) так что не обращайте внимания на содержимое) спасибо!

а на счет два вторых - это сортировка по алфавиту и номеру группы)
и да..извиняйте, что без отступов..надо начинать их делать, а то в коде и вправду сложно разобраться)
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
25.11.2012, 00:41
tarik ukraine, Вы меня извините, пожалуйста, но я на самом деле не понимаю, что такое
Цитата Сообщение от tarik ukraine Посмотреть сообщение
сортировка по заданной букве
сортировка может быть в целом.
по какому-то полю (текстовому, числовому,..)
или по нескольким полям (сначала - по одному, для одинаковых значений первого - по второму и т.д.)
по возрастанию или убыванию.
но "по букве"...


вам именно сортировка нужна? или поиск? или переход к нужной строке в списке? или что-то вроде фильтра?
0
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
25.11.2012, 00:46  [ТС]
вывести каждую строку, которая начинается с буквы, которую ввел пользователь в поле тектбокс)
отдельно по двум критериям.
например, если произвелась сортировка по букве..нажимаем кнопку для сортировки по группе, то поле очищается от данных..то есть, чтобы сортировка производилась по двум критериям не вместе)
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
25.11.2012, 01:05
понятно.
"сортировкой" вы назвали фильтр.
предлагаю пару вариантов:
1) данные из txt загружать на скрытый лист, в два столбца, с заголовками.
2) после того, как введена буква (или группа) в текстбокс - выполнять отбор на листе с помощью автофильтра;
3) листбокс полностью очистить и заполнить значениями видимых ячеек из листа.

1) данные из txt загружать в двумерный массив
2) после ввода букв/цифр - пробежаться в цикле по всем строкам массива, проверить условие для каждой строки и если все ок - добавить в новый массив
3) листбокс полностью очистить и заполнить значениями из нового массива.

если в реализации у вас будут затруднения - то код выложу завтра.
но вы хотя бы с вариантом определитесь - какой предпочтительнее?
"а сейчас пора спать" (с)
0
3 / 3 / 1
Регистрация: 26.12.2011
Сообщений: 63
25.11.2012, 01:10  [ТС]
вообще два варианта понятно) но мне кажется второй будет удобнее, чтобы не подключать листы екселя. Спасибо! Буду ждать) спокойной ночи!
0
призрак
 Аватар для ikki
3266 / 894 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
25.11.2012, 22:02
ну... примерно так.
Вложения
Тип файла: rar tarik.rar (10.7 Кб, 13 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.11.2012, 22:02
Помогаю со студенческими работами здесь

Сортировка данных в файле
Написать КФ SORT_FD.BAT для сортировки файла данных по алфавиту (по возрастанию или убыванию) со следующими программными функциями: ...

Сортировка данных в бинарном файле
Столкнулся с проблемой сортировки данных прямо внутри бинарного файла,в котором хранятся структуры вида: struct cNode{ int id; ...

Сортировка данных в txt файле.
Y menay est file.txt i dannue v etom file. Vce dannue meshdy soboy otsortirovanu s pomoshu tab. Kak mne rasbit eti dannue? Saranee...

Сортировка данных в бинарном файле
нужно отсортировать данные бинарного файла по возростанию цены(s_price) ifstream s_file; s_file.open(&quot;service.dat&quot;,...

Сортировка данных в текстовом файле
Необходимо отсортировать числа в текстовом файле в порядке убывания.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru