Вверх ↑
Этот топик читают: Гость
Ответов: 1379
Рейтинг: 86
#1: 2010-06-11 18:36:34 ЛС | профиль | цитата
Подскажите пожалуйста почему у меня не работает такая связка: code_18814.txt
Пытаюсь перевести в мегабайты, а он все равно байты
карма: 0

0
файлы: 1code_18814.txt [1.2KB] [176]
Разработчик
Ответов: 26324
Рейтинг: 2147
#2: 2010-06-11 18:43:08 ЛС | профиль | цитата
petrocan писал(а):
Пытаюсь перевести в мегабайты, а он все равно байты

А почему умножить, а не делить
карма: 22

0
Ответов: 1379
Рейтинг: 86
#3: 2010-06-11 18:45:03 ЛС | профиль | цитата
бааалиин
точно. все, спасибо, тема закрыта!
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#4: 2010-06-11 20:12:33 ЛС | профиль | цитата
Если захочется сделать конвертер из байтов в максимальную единицу измерения, которая будет >=1, то вот:
Add(Button,10700397,266,231)
{
Left=5
Top=40
link(onClick,6185762:doGet,[])
}
Add(Edit,1008630,315,182)
{
Left=5
Top=15
Width=260
Text="1024"
}
Add(Message,5861241,364,231)
{
}
Add(InlineCode,6185762,315,231)
{
WorkPoints=#5:doGet|
EventPoints=#5:onGet|
DataPoints=#6:bbytes|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|20: onGet:THI_Event;|4: |21: bbytes:THI_Event;|4: |49: procedure doGet(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|28:procedure THiAsmClass.doGet;|5:begin|61: _hi_OnEvent(onGet,Num2Bytes(ReadInteger(_Data,bbytes,0)));|4:end;|0:|4:end.|
link(onGet,5861241:doMessage,[])
link(bbytes,1008630:Text,[])
}

карма: 10
1
Голосовали:Tad
Ответов: 3349
Рейтинг: 233
#5: 2010-06-11 21:42:35 ЛС | профиль | цитата
Assasin, можно так, чтоб с Memory не возиться.
code_18818.txt
карма: 1

0
файлы: 1code_18818.txt [725B] [181]
Разработчик
Ответов: 4698
Рейтинг: 426
#6: 2010-06-12 08:47:36 ЛС | профиль | цитата
[offtop]Ivann, это уже кому как больше нравится, к тому же, ты уже вставил тот самый Memory в IC, с которым не хотел возиться [/offtop]
карма: 10
0
Ответов: 3349
Рейтинг: 233
#7: 2010-06-12 19:52:53 ЛС | профиль | цитата
[offtop]Assasin, ну да, со своей фантазией туго, переделал твой ic.[/offtop]
------------ Дoбавленo в 19.52:
AssasinСоветник, еще немного.
Моментальный просчет в точке Calc, то есть не требуется вызывать метод doGet.
Add(InlineCode,15475482,350,252)
{
WorkPoints=#5:doGet|
EventPoints=#5:onGet|
VarPoints=#6:Rezult|4:Calc|
DataPoints=#6:bbytes|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|14: r:String;|9: public|20: onGet:THI_Event;|4: |21: bbytes:THI_Event;|4: |49: procedure doGet(var _Data:TData; Index:word);|50: procedure Rezult(var _Data:TData; Index:word);|48: procedure Calc(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|28:procedure THiAsmClass.doGet;|6:begin |46: r:= Num2Bytes(ReadInteger(_Data,bbytes,0));|37: _hi_CreateEvent(_data, @onGet, r);|4:end;|0:|27:procedure THiAsmClass.Calc;|5:begin|59: dtString(_Data, Num2Bytes(ReadInteger(_Data,bbytes,0)));|4:end;|0:|29:procedure THiAsmClass.Rezult;|5:begin|22: dtString(_Data, r);|4:end;|0:|0:|4:end.|
}


карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#8: 2010-06-13 09:12:11 ЛС | профиль | цитата
[offtop]
Ivann писал(а):
AssasinСоветник

Мда... Лучше вручную писать теги [b][/b] и не попадаться на выделение лишнего [/offtop]
Ivann писал(а):
Моментальный просчет в точке Calc, то есть не требуется вызывать метод doGet.

Да, да, молодец, Ivann, учишься, учись, но если это ты мне показываешь, то лучше, пожалуй, в net-rooms писать, зачем каждому на форуме смотреть твой IC, я эту функцию Num2Bytes в IC так раздуть могу, что твое "фантазии не хватает" тут не поможет
Вот пример раздутия: code_18835.txt
карма: 10
0
файлы: 1code_18835.txt [2.4KB] [157]
Ответов: 1379
Рейтинг: 86
#9: 2010-06-13 11:33:24 ЛС | профиль | цитата
[offtop]
Assasin писал(а):
и не попадаться на выделение лишнего

это все браузеры так чудят, кроме IE. И проявляется это если перед нажатием на ник что то еще выделено. Тоже самое с другими тегами.[/offtop]
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#10: 2010-06-13 13:20:42 ЛС | профиль | цитата
Гы. Assasin, Ivann, у ваших кодов есть один, но существенный недостаток. Сами определите какой, или подсказать
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#11: 2010-06-13 13:27:18 ЛС | профиль | цитата
nesco писал(а):
у ваших кодов есть один, но существенный недостаток

Если ввести значение байтами более ~10ГБ, то не работает? Это уже недостаток переменной integer, поэтому надо использовать word
карма: 10
0
Ответов: 1161
Рейтинг: 160
#12: 2010-06-13 13:29:44 ЛС | профиль | цитата
2048 = 2 Килобайт или же все таки 2 КилобайтА?
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2147
#13: 2010-06-13 13:38:35 ЛС | профиль | цитата
Assasin писал(а):
Если ввести значение байтами более ~10ГБ, то не работает?

Вах, вах, вах. Assasin, ты меня разочаровал. Разве, integer имеет размерность ~10 Гб
------------ Дoбавленo в 13.38:
Assasin писал(а):
поэтому надо использовать word

Шедевр. Срочно за учебники, изучать размерности типов переменных.
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#14: 2010-06-13 13:42:50 ЛС | профиль | цитата
nesco писал(а):
Разве, integer имеет размерность ~10 Гб

Что? nesco, по моему даже у string даже ограничение всего лишь на 2 ГБ максимум стоит
Я говорю про то: 10737418240 - если это ввести в integer, то в нем образуется отрицательное значение
------------ Дoбавленo в 13.42:
nesco писал(а):
Шедевр.

Стараюсь
nesco писал(а):
Срочно за учебники, изучать размерности типов переменных.

long word всегда > 0, то есть беззнаковый integer (если память не изменяет)
карма: 10
0
Ответов: 1161
Рейтинг: 160
#15: 2010-06-13 13:43:09 ЛС | профиль | цитата
WORD - 0..65535
Может имеешь ввиду LONGWORD?
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)