[Delphi] Kilka problemow

0

Mam kilka problemów ;-( :

  1. jak przekonwertoać np 5 znaków na np 2 z wykorzystaniem 2 richeditów (tak jak w english translatorze: w 1 richedit wpisuję 5 znaków, wduszam button, w 2 richedicie mam przekonwertowany tekst)
  2. jak zrobić, by 2 richedity umieszczone jedno pod drugim przy resize zmieniały się tak, że jaden i drugi richedit zajmuje po połowie formularza
  3. w jaki sposób na labelach wyświetlić liczbę słów, liczbę określonych znakó (np. spacje) oraz liczbę wszystkicz znaków z richedita
  4. jak konwertować liczby między różnymi systemami liczbowymi (bin, hex, itp.)
  5. jak konwertować liczby między różnymi jednostkami, np. kg->tony, kb->mb, itp

Z góry dziękuję [cya]

0
  1. nie rozumiem pytania

  2. w OnResize formy zmieniaj rozmiary RichEditów

for i:=1 to Length(RichExit1.Lines.Text) do if RichEdit1.Lines.Text[i] = znak then Inc(ileznakow);
Label1.Caption:=IntToStr(ileznakow)

  1. IntToHex

  2. nie wiem

0
  1. tak jak w english translatorze [angel] : w 1 richedit wpisuję 5 znaków, wduszam button, w 2 richedicie mam przekonwertowany tekst
  2. a z hex na bin, itp [???]
0

AD5:

var
kg,tonainteger;

begin;

tona:=1000*kg
end;

:)

0
  1. tak jak w english translatorze [angel] : w 1 richedit wpisuję 5 znaków, wduszam button, w 2 richedicie mam przekonwertowany tekst

To wpisz w tym Translatorze:w 1 richedit 5 znaków, wduś button, w 2 richedicie mash przekonwertowany tekst. Po frytki zgłoś się w nowym roku :D

0

AD5:

var
kg,tonainteger;

begin;

tona:=1000*kg
end;

:)

chyba ile_ton:=ile_kg/1000 ?

0

AD5:

var
kg,tonainteger;

begin;

tona:=1000*kg
end;

:)

chyba ile_ton:=ile_kg/1000 ?

chyba jednak ile_ton:=ile_kg*1000

0

AD5:

var
kg,tonainteger;

begin;

tona:=1000*kg
end;

:)
chyba ile_ton:=ile_kg/1000 ?

chyba jednak ile_ton:=ile_kg*1000

no jednak
ile_ton:=ile_kg/1000
jesli ile_kg = 1000
to
ile_ton = 1000/1000 czyli 1000 kg = 1 tona

no i jeszcze ten Integer też nie przejdzie.

0

Ludzie - żeby rozpisywać się nad tym ile kg to jedna tona??? - ja napisałem dobrze i tak ma być!!!! :) - a co do Integer. Zamiast "/1000" trzeba pisać "div 1000", ale przciez lepiej zastosować jak napisalem "*1000". I TEMAT ZAMKNIĘTY!!! :)

0

przciez lepiej zastosować jak napisalem "*1000". I TEMAT ZAMKNIĘTY!!! :)

Może i lepiej, ale wtedy nie wyjdzie dobrze. Bo jak masz np. 5 kg:

5 kg*1000=5000 [ton]

przecież to totalna głupota. A jak dzielisz, to:

5 kg/1000=0,005 [tony]

czyli prawidłowo. A co do div:

5 kg div 1000=0 [ton]

więc, jak widać, tylko wykorzystując / taki program może zadziałać :)

0

Faktycznie - Thankles ma racje - ale zamieszane.. :)

0

Faktycznie - Thankles ma racje - ale zamieszane.. :)

thenkles kolego .:Datox:. :-) i odłącz się od piwka na parę chwil to ci kojarzenie wróci.

0
  1. jak konwertować liczby między różnymi systemami liczbowymi (bin, hex, itp.)

           Base_Convert(R) by Milosz Krajewski       

function Base_Convert(liczba: String; system_bazowy, system_docelowy: Integer): String;
function Chr2Int(c: Char): Integer;
begin
c := UpCase(c);
if (c >= '0') and (c <= '9') then
Result := Integer(c) - Integer('0')
else
Result := Integer(c) - Integer('A') + 10;
end;
function Int2Chr(i: Integer): Char;
begin
if i < 10 then
Result := Char(i + Integer('0'))
else
Result := Char(i - 10 + Integer('A'));
end;
function Str2Int(s: String; base: Integer): Integer;
var
i: Integer;
begin
Result := 0;
for i := 1 to Length(s) do
Result := (Result * base) + Chr2Int(s[i]);
end;
function Int2Str(v: Integer; base: Integer): String;
var
m: Integer;
begin
Result := '';
while v <> 0 do
begin
m := v mod base; v := v div base;
Result := Int2Chr(m) + Result;
end;
if Result = '' then Result := '0';
end;
begin
Result := Int2Str(Str2Int(liczba, system_bazowy), system_docelowy);
end;

Przykład zastosowania:
Edit.Text := Base_Convert(Edit.Text, 16, 2); //Hex to Bin
Edit.Text := Base_Convert(Edit.Text, 10, 8); //Dec to Oct

0

<font color="green">***************************************************
Base_Convert(R) by Milosz Krajewski
***************************************************</span>

Wielkie dzięki Milosz!!!!!! [cya] [hurra] [hurra] [hurra] [cya]

1 użytkowników online, w tym zalogowanych: 0, gości: 1