Вторник, 03.12.2024, 17:39 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
Помогите переписать функцию TRUNC
dolphinДата: Вторник, 17.04.2012, 13:32 | Сообщение # 1
Администратор
Сообщений: 906
Статус: Offline
В делфи есть функция Trunc подробнее - http://www.delphibasics.ru/Trunc.php

помоите написать её аналог

в асме к сожалению не силён всё что нашёл

Доступно только для пользователей
 
XSPYДата: Вторник, 17.04.2012, 15:19 | Сообщение # 2
Продвинутый
Зарегистрирован: 28.01.2010
Группа: Пользователи
Сообщений: 263
Статус: Offline
dolphin, а тебе на каком написать?на асме или таки на Делфе?)
Вот пример из моей крусухи универской,там ищеться символ "К" и после него выводит все симмволы:
Code
invoke GetTextInput, NULL, NULL, NULL, NULL, offset Opis1, addr S1

;################# получаем длинну строки S1########
push edi ;// сорхраняем регистр в стек
mov edi,offset S1 ;// в еdi указатель на введенную строку
cld ;//сбросим флаг направления
mov ecx,-1 ;// (FFFFFFFFh)
mov al,0
repne scasb ;//сравниваем стрку пока она не закончится. при этом в каждом сравнении уменьшаем регистр ecx на 1
;not ecx ;// меняем знак.
pop edi ;//восстанавливаем регистр, поскольку он был испорчен в результате работы

;############### обработка строки #####################

mov edi,offset S1
mov al,'K'
cld
repne scasb
jne Eror
;invoke wsprintf,addr szBuffer,addr FormatChar,edi
invoke MessageBoxA, 0, offset S1, addr Opis3, MB_OK
invoke MessageBoxA, 0, edi, addr Opis2, MB_OK
invoke MessageBoxA, 0, addr About, addr About, MB_ICONINFORMATION
ret

Eror:
invoke MessageBoxA, 0, addr Error, addr Error, MB_OK
ret

Exit:
invoke ExitProcess,0

Вот...после этого можешь например применить посик строки а потом удалить все,что послее неё))
Если не будет понятно-напишу тогда код полностью) wink


Сообщение отредактировал XSPY - Вторник, 17.04.2012, 15:19
 
dolphinДата: Среда, 18.04.2012, 11:37 | Сообщение # 3
Администратор
Сообщений: 906
Статус: Offline
Делфи с асм вставкой. Уточняю

в результате применения некоторого уравнения получатся число 1.25 (real, extendet) нужно просто отбросить дробную часть - .25 и получить integer.
 
Don_DiegoДата: Среда, 18.04.2012, 16:03 | Сообщение # 4
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
http://delphimaster.net/view/2-1179209719



Сообщение отредактировал Don_Diego - Четверг, 19.04.2012, 01:39
 
dolphinДата: Пятница, 20.04.2012, 10:24 | Сообщение # 5
Администратор
Сообщений: 906
Статус: Offline
Don_Diego, спасибо, то что нужно!
 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz