Страница: 1 |
Страница: 1 |
Вопрос: Form_KeyPress
Добавлено: 09.02.07 13:03
Автор вопроса: 20vek
Добрый день!
В проекте в Form_KeyPress, установлены значения для вывода цифр в Label. Так же на форме есть TextBox.
Проблема, даже если вводить цифры в TextBox. Они печатаются в Label тоже.
Надо прописать что-то в Form_KeyPress типа;
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #1
Добавлено: 09.02.07 16:41
Кхе... Нифига не понял.
Кажись ты имел ввиду
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub
Номер ответа: 2
Автор ответа:
20vek
Вопросов: 10
Ответов: 71
Профиль | | #2
Добавлено: 09.02.07 17:03
Нет не это. Спасибо, но ошибку уже нашел,
Select Case KeyAscii
Case 48 To 57
picNumber_MouseDown (KeyAscii - 48), vbLeftButton, 0, 0, 0
picNumber_MouseDown - вот она, нужно было на прямую в Label , А не выеживатся.
Номер ответа: 3
Автор ответа:
20vek
Вопросов: 10
Ответов: 71
Профиль | | #3
Добавлено: 09.02.07 17:15
Может по ходу еще на один вопрос ответите?
Программа возводит в степень число, объявленна как DOUBLE. Если возвести 1000000 в степень 100,
то ошибка №6 переполнение. А в стандартном считает. Может потому, что он не VB написан?
Номер ответа: 4
Автор ответа:
ENIX
ICQ: 238819245
Вопросов: 9
Ответов: 76
Профиль | | #4
Добавлено: 09.02.07 19:59
+1 мне тоже интересно, возможно ли создание типов по типу BigInteger. Где-то давно встречал такое, и связано было с получения обьема жесткого диска. Создавался поль-ий тип данных, а как дальше...
Может тут нужно работать напрямую с паматью через CopyMemnory и грузить байтики в наш тип, поясните кто сталкивался с этим...! плз
Номер ответа: 5
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #5
Добавлено: 10.02.07 15:28
2 20vek,ENIX Люди, вы чего? Щас я накатаю модуль с длинной арифметикой, выложу...
Номер ответа: 6
Автор ответа:
20vek
Вопросов: 10
Ответов: 71
Профиль | | #6
Добавлено: 10.02.07 18:51
Номер ответа: 7
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #7
Добавлено: 10.02.07 20:59
Дописать не успел
Вот что пока есть
Option Explicit
Private Const MeasSys As Long = 10000 'Best system - I don't recommend to change it
Public Type BigInt 'Theoretically saves numbers up to MeasSys^MaxLong (= 10^8589934588)
A() As Integer
C As Long
End Type
Public Function DeSerialize(S As String) As BigInt
Dim I As Long, C As Long
Dim A0 As Long
 eSerialize.C = Len(S) \ 4
If Len(S) Mod 4 <> 0 Then DeSerialize.C = DeSerialize.C + 1
ReDim DeSerialize.A(DeSerialize.C - 1)
I = Len(S) - 3
Do
If I <= 0 Then
A0 = CLng(Mid(S, 1, 3 + I))
 eSerialize.A(C) = A0
Exit Do
Else
A0 = CLng(Mid(S, I, 4))
 eSerialize.A(C) = A0
End If
I = I - 4
C = C + 1
Loop
End Function
Public Function Serialize(N As BigInt) As String
Dim I As Long
For I = 0 To N.C - 1
If I = N.C - 1 Then
Serialize = CStr(N.A(I)) & Serialize
Else
Serialize = Format(N.A(I), "0000" & Serialize
End If
Next
End Function
Public Function CreateBigInt(Optional FirstVal As Long = 0) As BigInt
CreateBigInt = DeSerialize(CStr(FirstVal))
End Function
Public Sub LetBigInt(N As BigInt, FirstVal As Long)
N = DeSerialize(CStr(FirstVal))
End Sub
Public Sub BIMulNum(Bi As BigInt, Num As Long)
Dim I As Long
Dim Tmp As Long
Dim Lst As Long
For I = 0 To Bi.C - 1
Tmp = Bi.A(I) * Num + Lst
Bi.A(I) = Tmp Mod MeasSys
Lst = Tmp \ MeasSys
Next
If Lst <> 0 Then
ReDim Preserve Bi.A(Bi.C)
Bi.A(Bi.C) = Lst
Bi.C = Bi.C + 1
End If
End Sub
Номер ответа: 8
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #8
Добавлено: 11.02.07 11:26
Вот ссылка на статью Реализация длинной арифметики на Visual Basic’е
http://www.vbnet.ru/articles/showarticle.aspx?id=92
Номер ответа: 9
Автор ответа:
20vek
Вопросов: 10
Ответов: 71
Профиль | | #9
Добавлено: 11.02.07 14:46
Она посчитает и выдаст в строку 100000000......0.
А как теперь привести к читаемому виду как в
стандартном калькуляторе например так
1,e+2000
Номер ответа: 10
Автор ответа:
20vek
Вопросов: 10
Ответов: 71
Профиль | | #10
Добавлено: 11.02.07 15:28
Пост 9 (но вот вопросик к ней)
Вопрос снят извените. Еще раз всем спасибо.