Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Brok[BS]

Поиск и вывод результата

18.01.2011, 21:29. Показов 775. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа, ищет по заданному критерию информацию и выводит её на экран.

Вот пример работы формы.

1. Слева в списке есть число 1990, я ввожу его в поле для поиска и нажимаю кнопку Find, программа успешно находит число и вывод на правый листбокс.
[IMG]http://s016.***********/i336/1101/b8/53ce3cfbb9a8.jpg[/IMG]

2. Слева в списке так же есть число 1000, оно стоит первым. Я ввожу его в поле для поиска и нажимаю кнопку Find, но ничего не происходит и с права в листбоксе это число не появляется. Методом тыка было выявленно, что не выводится либо первое, либо последнее число из левого списка. В зависимости от сортировки (по имени или по числу)
[IMG]http://s013.***********/i323/1101/a6/0c3e01ebfc4b.jpg[/IMG]

Код:

C#
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private Form2 addfrm;
        private myCmpFam cmpf;
        private myCmpYear cmpy;
        private System.Collections.ArrayList myList;
        public Form1()
        {
            InitializeComponent();
            myList = new System.Collections.ArrayList();
            addfrm = new Form2();
            addfrm.list = myList;
            cmpf = new myCmpFam();
            cmpy = new myCmpYear();
        }
 
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            myList.Sort(cmpf);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            addfrm.Show();
            
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            foreach (myListObj o in myList)
            {
                listBox1.Items.Add(o.ToString());
            }
        }
 
        private void button4_Click(object sender, EventArgs e)
        { 
            myListObj tmp = new myListObj();
            tmp.fam = textBox1.Text;
            tmp.year = Convert.ToInt32(textBox1.Text);
            myList.Sort(cmpy);
            if (myList.BinarySearch(tmp, cmpy) > 0) listBox2.Items.Add(tmp.fam+" "+tmp.year.ToString());
            else;
        }
 
        private void button5_Click(object sender, EventArgs e)
        { 
            using (System.IO.TextWriter f = new System.IO.StreamWriter("list.txt"))
            {
                f.WriteLine("LIST");
                foreach (myListObj o in myList)
                { 
                    f.WriteLine(o.fam);
                    f.WriteLine(o.year.ToString());
                }
            }
        }
 
        private void button6_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
 
            string s = openFileDialog1.FileName;
            string tmp;
            using (System.IO.TextReader f = new System.IO.StreamReader(s))
            {
                myList.Clear();
                tmp = f.ReadLine();
                if (tmp != "LIST")
                {
                    System.Windows.Forms.MessageBox.Show("Неправельный формат файла");
                    return;
                }
                myListObj o_tmp;
                tmp=f.ReadLine();
                while (tmp != null)
                {
                    o_tmp = new myListObj();
                    o_tmp.fam = tmp;
                    tmp = f.ReadLine();
                    o_tmp.year = Convert.ToInt32(tmp);
                    myList.Add(o_tmp);
                    tmp = f.ReadLine();
                }
            }
 
        }
 
        private void button7_Click(object sender, EventArgs e)
        {
            myList.Sort(cmpy);
        }
    }
    public class myListObj
    {
        public string name;
        public string fam;
        public int year;
        override public string ToString()
        {
            return fam + " - "+year.ToString();
        }
    }
    public class myCmpFam : System.Collections.IComparer
    {
 
        #region Члены IComparer
 
        public int Compare(object x, object y)
        {
            return ((myListObj)x).fam.CompareTo(((myListObj)y).fam);
        }
 
        #endregion
    }
    public class myCmpYear : System.Collections.IComparer
    {
 
        #region Члены IComparer
 
        public int Compare(object x, object y)
        {
            if (((myListObj)x).year > (((myListObj)y).year)) return 1;
            else if (((myListObj)x).year < (((myListObj)y).year)) return -1;
            return 0;
        }
 
        #endregion
    }
}
Есть два вопроса:
1. Как сделать, чтобы в правый листбокс выводилось любое найденное из левого списка число?
2. Как сделать, чтобы в правый листбокс, вместе с найденным числом выводилась и фамилия, которая соответствует этому числу в левом списке?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2011, 21:29
Ответы с готовыми решениями:

База данных - поиск по textboxам и вывод результата в picturebox
Как сделать поиск по textboxам и вывод результата в picturebox?

Поиск в xml и вывод результата!
Люди добрые,можете помочь?! Проблема заключается в следующем,есть БД Postgresql с кодировкой win-1251 (другая кодировка не выставляется)...

Поиск по БД, вывод в результата в dataGridView
Есть dataGridView и comboBox. Нужно что бы происходил поиск по БД в соответствии с выбранным названием в comboBox и выводились все данные...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2011, 21:29
Помогаю со студенческими работами здесь

Поиск строк, и вывод результата
Доброго времени суток, хотел бы у вас попросить направления что ли, в php, как можно реализовать поиск в файле? и получить результат...

Вывод результата на форму, поиск по директориям
public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { string...

Поиск по колонке Address м вывод результата
Задание: Нужно организовать поиск по колонке Address,а результаты запроса вывести куда угодно, кроме специально приспособленных под это...

swi prolog, поиск факториала, вывод результата
Здравствуйте. Надо написать программу, которая будет искать факториал числа N. Собственно, сам код. Вроде как все работает. ...

Поиск в текстовом файле и вывод результата в TextBox
Здравствуйте! Есть текстовый файл в нем есть данные в виде Текст который должен найти-Значение. На форме есть два текстбокса и одна...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru