![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток!
у меня есть вопрос по сложению чисел например мне надо сложить число формата 5.2.4 с 6.2.4 так чтоб в конце получился ответ 11.4.8 Помогите кто с чем может? Кто считается настоящим программистом? Тот кто не боиться спрашивать. |
#2
|
|||
|
|||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var n1,n2: TStringList; begin n1:=TStringList.Create; n2:=TStringList.Create; ExtractStrings(['.'], [], PChar(edit1.Text), n1); ExtractStrings(['.'], [], PChar(edit2.Text), n2); edit3.Text:=IntToStr(StrToInt(n1[0])+StrToInt(n2[0]))+'.'+ IntToStr(StrToInt(n1[1])+StrToInt(n2[1]))+'.'+ IntToStr(StrToInt(n1[2])+StrToInt(n2[2])); n1.Destroy; n2.Destroy; end; |
#3
|
||||
|
||||
![]() мне бы чтоб он брал числа из edit1 и edit2?
Кто считается настоящим программистом? Тот кто не боиться спрашивать. Последний раз редактировалось blezigens, 16.06.2010 в 14:54. |
#4
|
||||
|
||||
![]() Сейчас забабахаем
![]() Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#5
|
||||
|
||||
![]() Спасибо
![]() Кто считается настоящим программистом? Тот кто не боиться спрашивать. |
#6
|
|||
|
|||
![]() Цитата:
|
#7
|
||||
|
||||
![]() Можго ли сделать так если
n1:TStringList больше n2:TStringList то совершаеться действие и как это сделать Кто считается настоящим программистом? Тот кто не боиться спрашивать. |
#8
|
||||
|
||||
![]() На попробуй функцию писанную на скорую руку
Код:
function MyPlus(OneStr, TwoStr: String): String; var TempOne, TempTwo, Otvet: String; One, Two, Res: Integer; begin TempOne := OneStr + '.'; TempTwo := TwoStr + '.'; while (Length(TempOne) <> 0) and (Length(TempTwo) <> 0) do begin One := StrToInt(Copy(TempOne,1,Pos('.',TempOne) - 1)); Two := StrToInt(Copy(TempTwo,1,Pos('.',TempTwo) - 1)); Res := One + Two; Otvet := Otvet + IntToStr(Res) + '.'; Delete(TempOne,1,Pos('.',TempOne)); Delete(TempTwo,1,Pos('.',TempTwo)); end; Delete(Otvet,Length(Otvet),1); Result := Otvet; end; Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#9
|
||||
|
||||
![]() Можно ли сделать так чтоб если в edit1 было записано любое число в формате 35.89.89 и сравнивались эти 3 числа как отдельные
и если Например 2-рое число после точки было больше либо равно любому из двух чисел то выявлялось showmessage( 35< 89 = 89 ). Кто считается настоящим программистом? Тот кто не боиться спрашивать. |
#10
|
||||
|
||||
![]() Ну ты блин загнул
![]() ![]() Вообще рассматривай это все естественно как строку. Режь её ка тебе нужно и сравнивай как хочешь. Думаю со строками нет проблем? Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. Последний раз редактировалось Kailon, 16.06.2010 в 16:10. |
#11
|
||||
|
||||
![]() я со строками не знаком.
![]() ![]() Кто считается настоящим программистом? Тот кто не боиться спрашивать. |
#12
|
||||
|
||||
![]() А это число с точками только из трёх групп состоит или произвольно? Если произвольно, то какие тогда сравнивать?
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#13
|
||||
|
||||
![]() а вот так если edit1 = числу в формате 12.64.9
тогда чтоб 12 было в g1:string; 64 было в g2:string; 9 было в g3:string а потом вычислить какое из них больше Например Если g2 < g1 > g3 то совершаеться действие Если g2 = g1 > g3 то совершаеться действие Если g2 < g1 = g3 то совершаеться действие Если g2 = g1 = g3 то совершаеться действие Если g1 < g2 > g3 то совершаеться действие Если g1 = g2 > g3 то совершаеться действие Если g1 < g2 = g3 то совершаеться действие Если g1 = g2 = g3 то совершаеться действие Если g1 < g3 > g2 то совершаеться действие Если g1 = g3 > g2 то совершаеться действие Если g1 < g3 = g2 то совершаеться действие Если g1 = g3 = g2 то совершаеться действие в том то и дело что когда вводят число в edit1 не знаешь какое оно Кто считается настоящим программистом? Тот кто не боиться спрашивать. |
#14
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var ed1,ed2: string; i,p:integer; a,b: array[1..3] of integer; begin ed1:=edit1.Text; ed2:=edit2.Text; i:=1; while i<>4 do begin if i=3 then begin a[i]:=StrToInt(ed1); b[i]:=StrToInt(ed2); end else begin p:=Pos('.',ed1); a[i]:=StrToInt(Copy(ed1,1,p-1)); ed1:=Copy(ed1,p+1,Length(ed1)-1); p:=Pos('.',ed2); b[i]:=StrToInt(Copy(ed2,1,p-1)); ed2:=Copy(ed2,p+1,Length(ed2)-1); end; inc(i); end; end; например в edit1: 13.72.2 то a[1]=13, a[2]=72, a[3]=2 дальше сравнивай и складывай как ты хочешь знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! Последний раз редактировалось SerginhoLD, 16.06.2010 в 16:49. |
#15
|
||||
|
||||
![]() Вот еще вариант
Код:
procedure TForm1.Button1Click(Sender: TObject); var g1,g2,g3: Integer; TempS: String; begin g1 := 0; g2 := 0; g3 := 0; TempS := Edit1.Text; g1 := StrToInt(Copy(Temps,1,Pos('.', TempS) - 1)); Delete(TempS,1,Pos('.', TempS)); g2 := StrToInt(Copy(Temps,1,Pos('.', TempS) - 1)); Delete(TempS,1,Pos('.', TempS)); g3 := StrToInt(Copy(Temps,1,Length(TempS))); //а дальше уже идет простое сравнение чисел if (g1 > g2) and (g1 > g3) then begin //твой код end; if (g1 = g2) and (g1 > g3) then begin //твой код end; if (g1 > g2) and (g1 = g3) then begin /твой код end; end; Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |