Прошу немного помоч

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 20.03.2005 (Вс) 16:54

Ага, кажется понял, вот наклепал пример.
Данные в файле в таковом формате, обязательный пробел:
Процессор - результат

Вот код:
Код: Выделить всё
Option Explicit
Private Type Processor
    Name As String 'Название процессора
    result As Long 'Ну не знаю, может у кого-то больше 2 млрд будет, тогда Currency, или что-то подобное
End Type
Dim Processor() As Processor  'Процессоры



Private Sub Form_Load()
'На форме Listbox - List1
Dim data() As String, i As Integer, s As String
Open "c:\data.txt" For Input As #1
s = Input(LOF(1), 1)
Close #1

data() = Split(s, vbCrLf)
ReDim Processor(UBound(data))
For i = 0 To UBound(data)
Processor(i).Name = Left$(data(i), InStr(data(i), " - "))
'Left$ - Обрезаем название до " - " В результате: проц
Processor(i).result = Replace(Mid$(data(i), InStr(data(i), " - ") + 3), " ", "")
'Mid$ - Обрезаем название после " - "
'В результате:
'111 111 111 111
'Дальше c помощью Replace удаляем лишние пробелы, так чтобы получилось число
Next
Call AddProcessor("Celeron", 101231233)
'Додаем свой проц
SortProcessors
'Сортируем
ShowProcessor
'Показываем все это


End Sub
Sub AddProcessor(pname As String, result As Long)
'Добавление процессора
ReDim Preserve Processor(UBound(Processor) + 1) 'Переопределяем массив, с сохранением данных
With Processor(UBound(Processor))
.Name = pname
.result = result
End With



End Sub
Sub SortProcessors()
'Самая примитивная сортировка
Dim i As Integer, j As Integer, tmp As Processor
For i = 0 To UBound(Processor)
For j = i + 1 To UBound(Processor)
If Processor(i).result > Processor(j).result Then
'Если один процессор круче за второй, то меняе их местами
tmp = Processor(i)
Processor(i) = Processor(j)
Processor(j) = tmp
End If
Next
Next
'В результате упорядченный список
End Sub

Sub ShowProcessor()
'Показываем, то что у нас есть
Dim i As Integer
For i = 0 To UBound(Processor)
List1.AddItem (Processor(i).Name & " - " & Processor(i).result)
Next
End Sub
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 22.03.2005 (Вт) 7:50

Хорошо пересяду к другому компьютеру, обязательно проверю. Теперь я думаю не хватает поддержки несколько процессоров, насчет этого я все ищу информацию в интернете.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 22.03.2005 (Вт) 8:16

Я не помню в каку сторону сделал сортировку, если не подходит, то
Код: Выделить всё
if Processor(i).result > Processor(j).result Then

замени на
Код: Выделить всё
if Processor(i).result < Processor(j).result Then
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 23.03.2005 (Ср) 16:47

Извини, не получается у меня внедрить твой код себе в программу, возникает много конфликтов... Можешь не употреблять стандартные переменные, например i.

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 23.03.2005 (Ср) 16:54

Еще видимо где-то ошибочка вышла, потому что при повторном подходе мне удалось все сделать, но выдало ошибку "несовпадение типов" исправь ее пожалуйста!

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 23.03.2005 (Ср) 18:51

Может быть самому попробовать разобраться, но не уверен, что выйдет... С нетерпением жду примера!

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 24.03.2005 (Чт) 7:14

Если не ошибаюсь, то ошибка в сабе:
Private Sub Form_Load()

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 24.03.2005 (Чт) 7:49

Возможно проблема с форматом файла, он должен быть в точности такой:
проц2 - 222 222 222
Пробелы также должны быть, в смысле " - "
Также удали пустые строки в файле.
А вообще скинь мне data.txt, я посмотрю, что не так.
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 24.03.2005 (Чт) 17:14

961 272 895 - Intel Celeron 2800 Mhz
941 817 790 - Intel Celeron 2500 Mhz
========================
Вот пример, думаю надо местами их поменять, тогда ок, так и сделаю, пробую...

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 24.03.2005 (Чт) 17:37

Так я все сделал, все перевернул, теперь все без ошибок, но ничего не сортируется... Еще очень жаль, что не выйдет значение больше 2 миллиардов сделать т.к. в тесте у меня есть процессор Xeon от Xolod :) и у него результат 3.5 миллиарда на одном проце!

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 25.03.2005 (Пт) 18:27

Народ, а у нас есть на форуме пример регистрации? Т.е допустим есть один сервер и туда обращаются много клиентов для входа в систему, вот как сделать, чтобы все нормально работало? Выложите пожалуйста пример или направте плиз на тему... В поиск не шлите, не нашел чего хотел.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 26.03.2005 (Сб) 5:09

2Sashar: Да как не сортируется??? Скинь мне .dat файл.
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 26.03.2005 (Сб) 10:41

Вот выкладываю... Этот тот файл, что я использовал для теста твоей сортировки.

Кстати никто насчет моего предпоследнего поста ничего не знает?
Вложения
data.rar
(167 байт) Скачиваний: 32

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 27.03.2005 (Вс) 4:48

Чо за прикол ???
У меня все сортируется. Возможно ты не тот файл открываеш, или еще что-то. list1 тебе выводит данные в неправильном порядке ???
Еще очень жаль, что не выйдет значение больше 2 миллиардов сделать т.к. в тесте у меня есть процессор Xeon от Xolod и у него результат 3.5 миллиарда на одном проце!

Выйдет :)
Код: Выделить всё
Private Type Processor
    Name As String
    result As Currency
End Type
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 27.03.2005 (Вс) 10:18

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

P.S.
Не знаешь что-нибдуь насчет сетевой регистрации т.е. по локалке.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 27.03.2005 (Вс) 22:18

У меня Duron 800 Mhz.
Тест выполнялся 5050
Результат - 425 244 286

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 28.03.2005 (Пн) 7:26

sashar2 писал(а):хмм... Буду еще пробовать. А вообще странно. Попробуй добавь атлончик. Селероны то у меня по алфавиту и так идут.

P.S.
Не знаешь что-нибдуь насчет сетевой регистрации т.е. по локалке.

Нет тут дело не в том вот я переделал файл:
Intel Celeron 1700 Mhz - 751 867 395 0
Intel Celeron 1000 MHz - 458 080 983
Intel Celeron 2500 Mhz - 941 817 790
Intel Celeron 2800 Mhz - 961 272 895
И все нормально сортирует.
Не знаешь что-нибдуь насчет сетевой регистрации т.е. по локалке.

В смысле, что ты хочеш сделать.
الفيجوال بيسك الرابح

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 29.03.2005 (Вт) 20:31

Да я вот хотел бы сделать вход в программу по логину и паролю, который проверяется по сети. Т.е есть сервер, где хранятся все логины и пароли. И есть много клиентов, которые входят, выходят и.т.д. И вот хотелось бы сделать такую регистрацию и выход. Все это будет осуществляться по локальной сети.

Inferno
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 26.01.2005 (Ср) 1:06

Сообщение Inferno » 30.03.2005 (Ср) 4:46


sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 30.03.2005 (Ср) 13:54

Спасибо Inferno и GM за кинутый пример, разбираюсь...

User2004
Обычный пользователь
Обычный пользователь
 
Сообщения: 58
Зарегистрирован: 10.06.2004 (Чт) 17:39
Откуда: London

Сообщение User2004 » 02.04.2005 (Сб) 1:08

Если тема всё ещё актуальна,то
P IV 2800 -1,048,064,249 выполнялся 2049
P III 700 - 348,108,874____________ 6169
P IV 1800 - 669,832,703_____________3206
Причём на первом(2800) из 10-ти запусков -90% результат тот-же,хотя закрывал постепенно процессы(антивирус,интернет,и т.п.)
На остальных не пробовал закрывать.
There are 10 types of people in the world:
Those who understand binary and Those who do not.((c)some one)

sashar2
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 170
Зарегистрирован: 06.02.2005 (Вс) 19:58

Сообщение sashar2 » 08.04.2005 (Пт) 23:58

Спасибо за ответ!

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 194

    TopList