Поиск строки или числа

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fridx
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 18.01.2006 (Ср) 4:03

Сообщение Fridx » 24.02.2006 (Пт) 21:15


Dim SX As Single
dim X as Long
Dim BUF As String
Dim NT1 As String
Dim NTX As String * 4

Open CommonDialog1.FileName For Binary As #6 Len = 1
BUF = Input(LOF(6), #6)
SX = Val(textX.Text)

For X = 1 To LOF(6)
NT1 = "1234"
CopyMemory ByVal NT1, SX, 4
NTX = Mid(BUF, X, 4)
If NT1 = NTX Then
Text3 = "OK"
End If
Next X


Вот так я ищу число Single. Как бы сделать диапазон поиска?
Т.е. при поиске например числа 1755.47 будут находиться все числа, которые меньше 1755.47 +10 и больше 1755.47 - 10.
В условии у меня сравниваются две строки (NT1 = NTX). Конечно можно с помощью CopyMemory перевести их в число, а потом задать диапазон, но так код усложняется на порядок.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.02.2006 (Сб) 7:34

Возникает ощущение, что автор в процессе конструктивного диалога запутался сам и запутал остальных...

По сути последнего вопроса. Если тебе нужен поиск в определенном диапазоне, то заведомо придется конвертировать проверяемое значение в Single.

Возвращаясь же к сути вопроса топика. Если в файле только числа типа Single друг за другом расположены, то стоит считывать содержимое файла открытого для бинарного доступа в массив Single соответствующей длины. Если же формат файла более сложен и известно что где-то в файле имеется (или не имеется) некое значение типа Single, то стоит считать содержимое файла в массив Byte, а затем при помощи CopyMemory конвертировать последовательные 4 байта в Single и сравнивать их с необходимым значением (или диапазоном значений)
Весь мир матрица, а мы в нем потоки байтов!

Пред.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44

    TopList