Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#1: 2013-01-23 20:03:06 ЛС | профиль | цитата
Мне вот интересно, чего у народа вот такое выдает


Add(Edit,9394968,196,63)
{
Left=70
Top=14
Width=217
Height=21
Text="-123a12"
Alignment=1
}
Add(Button,2002823,119,112)
{
Left=112
Top=49
Width=126
Height=21
Caption="Str2Double"
link(onClick,13631075:doConvert,[])
}
Add(Convertor,13631075,196,112)
{
Mode=10
link(onResult,13349435:doMessage,[])
link(Data,9394968:Text,[])
}
Add(Message,13349435,259,112)
{
}


Давно не следил, может и разрулили уже давно...
карма: 9

0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2013-01-23 20:06:45 ЛС | профиль | цитата
Galkov писал(а):
чего у народа вот такое выдает

-12312
карма: 22

0
Ответов: 9906
Рейтинг: 351
#3: 2013-01-23 20:13:57 ЛС | профиль | цитата
не рулили, значит...
И чего думаешь

Лично я наступил конкретно, и по полной программе: снимал строку из StingTable, и сравнивал с действительным (думая, что первое поле и получу для сравнения). Чуть "веру в закон Ома" не потерял
карма: 9

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#4: 2013-01-23 23:04:16 ЛС | профиль | цитата
Galkov писал(а):
И чего думаешь

Думаю, что ничего выдавать не должно, недопустимый ввод же
карма: 22

0
Ответов: 9906
Рейтинг: 351
#5: 2013-01-24 07:30:30 ЛС | профиль | цитата
У себя я Kol-ы напильником подпилил.

#pas
//[function Str2Double]
function Str2Double( const S: String ): Double;
var I: Integer;
M, Pt: Boolean;
D: Double;
Ex: Integer;
begin
Result := 0.0;
if S = '' then Exit;
M := FALSE;
I := 1;
if S[ 1 ] = '-' then
begin
M := TRUE;
Inc( I );
end;
if S[ 1 ] = '+' then Inc( I ); //+добавил Галков
Pt := FALSE;
D := 1.0;
while I <= Length( S ) do
begin
case S[ I ] of
'.': if not Pt then Pt := TRUE else break;
'0'..'9': if not Pt then
Result := Result * 10.0 + Integer( S[ I ] ) - Integer( '0' )
else
begin
D := D * 0.1;
Result := Result + (Integer( S[ I ] ) - Integer( '0' )) * D;
end;
'e', 'E': begin
Ex := Str2Int( CopyEnd( S, I + 1 ) );
Result := Result * IntPower( 10.0, Ex );
break;
end;
else break; //+добавил Галков
end;
Inc( I );
end;
if M then
Result := -Result;
end;

чего и всем советую
карма: 9

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#6: 2013-01-24 09:16:45 ЛС | профиль | цитата
Galkov писал(а):
чего и всем советую

А вариант попроще и для всех есть
карма: 22

0
Ответов: 9906
Рейтинг: 351
#7: 2013-01-24 10:42:48 ЛС | профиль | цитата
Точно такой же вопрос я себе задавал, когда первый раз правил KOL
И второй... И третий.

ты же знаешь как я на него отвечал. Не потому же, что я супер-пупер-джигит. Приходилось (и приходится) заниматься "джигитовкой" в силу необходимости.

Вот я показал в схеме Convertor, а сам наступал на элементе If_Else.

Тут логика примерно такая:

  • Мы KOL-ом пользуемся? --> Пользуемся
  • Сам KOL пользуется "плохим" кодом"? --> Пользуется
  • Следовательно --> Мы тоже пользуемся "плохим" кодом". И всякие "припарочки" (в стиле NewThreadforFPC) только закапывают проблему, а не устраняют ее. К сожалению.
nesco, мне понятны твои проблемы.
Но я не виноват. Просто изложил логику, на которую до сих пор не нашел опровержения.
карма: 9

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#8: 2013-01-24 11:43:24 ЛС | профиль | цитата
Galkov, но ведь выход-то может быть. К примеру, обозвать метод, например, Str2Real, засунуть его в Share и переправить методы во всех юнитах, где есть Str2Double на Str2Real
карма: 22

0
Ответов: 9906
Рейтинг: 351
#9: 2013-01-24 12:09:06 ЛС | профиль | цитата
Это тот самый выход, который сделан в вышеупомянутом "стиле NewThreadforFPC"

Но ты все таки попробуй сам ответить на вышеупомянутые вопросы:
  • Мы KOL-ом пользуемся? --> Пользуемся
  • Сам KOL пользуется "плохим" кодом"? --> Пользуется
Только честно
И попробуй после этого опровергнуть утверждение
Следовательно --> Мы тоже пользуемся "плохим" кодом"


Нет, nesco, я твердо убежден, что осетрины второй свежести не бывает

Ну я понимаю, конечно же, бурное развитие IT технологий внедрило в умы идеологию: ну подумаешь, глючит немножечко...
Но мне профессия не позволяет оставлять "неразорвавшиеся мины" за спиной.
Инженер называется. А теперь и в эту профессию приходят IT технологии. Прикинь, каково мне. У меня же программисты воспитанные в стиле "ну подумаешь"


Но ничего-ничего... Им еще хуже придется. Ведь если я чего решил, то выпью обязательно.
Они у меня еще среду типа HiAsm на нем же делать начнут. Когда нибудь.
карма: 9

0
Разработчик
Ответов: 26061
Рейтинг: 2120
#10: 2013-01-24 12:24:12 ЛС | профиль | цитата
Galkov писал(а):
Это тот самый выход, который сделан в вышеупомянутом "стиле NewThreadforFPC"

Это немного не то. Я предлагаю заменить плохой метод KOL-a, на хороший у нас, а не в самом KOL-e. Это можно же сделать, в отличии от той же прозрачности, которую к нам перетащить малореально. К тому же, в самом KOL-e эта функция используется только в Double2StrEx, которая ни где не используется, ни у нас, ни в самом KOL-e. Те эти методы не является ключевыми и на них ничего не завязано, они чисто для юзеров.
Если заменить у нас, то эта замена будет доступна всем, а так она останется только в правленном KOL-e, которым мало кто пользуется, тк с SVN он недоступен.
А KOL-ы ты можешь сам поправить и выложить на файлообменник, предыдущие правленные версии там же и лежат, их подкорректировать и обновить, а потом я удалю старые
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#11: 2013-01-25 00:15:04 ЛС | профиль | цитата
Galkov, привет ! С Новым Годом !
code_30174.txt
Это только у нас такие форматы в простых бухгалтерских документах встречаются и Kol меня вполне устраивает.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30174.txt [2.7KB] [433]
Ответов: 9906
Рейтинг: 351
#12: 2013-01-25 21:17:17 ЛС | профиль | цитата
1) Привет

2) О как Для меня то неожиданность

3) Не поверишь: минут пятнвдцать не мог понять смысла твоего примера - у меня были одинаковые результаты



------------ Дoбавленo в 21.17:
nesco писал(а):
Это немного не то.

Это абсолютно ТО
Плохой метод NewThread в kol заменен нашим хорошим NewThreadforFPC
Но мы продолжаем пользоваться kol, который понятия не имеет про наш хороший, и в некоторых местах продолжает вызывать свой плохой NewThread.

Кстати говоря, про "мы" сказано с некоторой натяжкой. Если мне не изменяет мой склероз, белые люди пользуются как раз тем kol-ом, в котором и этот метод хороший...
Так в чем проблемы ???
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#13: 2013-01-25 21:26:21 ЛС | профиль | цитата
У меня такая картина :
str2double.gif
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1str2double.gif [17.5KB] [523]
Ответов: 8887
Рейтинг: 823
#14: 2013-01-25 21:55:14 ЛС | профиль | цитата
Tad, всегда найдётся человек, который введёт данные так, что предусмотреть это невозможно
карма: 19

0
Ответов: 1841
Рейтинг: 369
#15: 2013-01-25 22:13:10 ЛС | профиль | цитата
Жаль что изначально KOL положили в корневую папку компилятора, а не в %HiAsm%Elementsdelphicode.
Может есть варианты его от туда грузить, без изменения строки компиляции?

p.s. Я в альтернативной сборке могу реализовать данную идею, но новички почти всегда качают офф версию пакета
карма: 1
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)