Hogy lehetséges ezt a programozási feladatot megoldani?
Azt szeretném megoldani,ha nem túl komplikált,hogy az egész beírómezőben,bármilyen műveleti jelet írnak, sor előtt, sor(ok) után, szám(ok) előtt, szám(ok) után, akkor elvégezze a feladatot, tehát,hogyha beírom, pl:
12+23-4/6*8+12/7777+55-777*9999, akkor végezze el ezt a bonyolult műveletet és erről egy másik beírómezőben adjon pontos végeredményt. Nagyon sok időt rászántam, hogy megtaláljam a megoldást, mindenre jutottam, csak vagy az
eredményt nem tudtam kihozni, vagy a program nem működött megfelelően. Próbálkoztam a seltextet bevonni,a gettextlent, a sellengthet, másik ciklust, ami a -1-et helyettesíti be, akár e j változóba, kivonni, tömbök alá venni az edit1.text-et[edit1.selstart]-tal, kivonni, osztani szorozni, mindenféle kombinációt, kicserélni az edit1.texteket, edit1.seltextekre, de nem sikerült a feladatot megoldanom normális működő módon. Ebben szeretnék segítséget kérni, ha lehet természetesen forráskóddal mellékelve, mert úgy vélem, hogy ez annál komplikáltabb dolog lehet, hogy szóban megértsem, mit hogyan kell tennem, vagy milyen további, esetleges függvényeket kell, hogy bevonjak a programba, amivel ezt működőképessé lehet varázsolni. Előre is köszönök, minden segítséget és megoldást.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Strutils, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit1Change(Sender: TObject);
var sign:char;
i,w:integer;
begin
try
For i:=1 to length(edit1.Text) do
If not (edit1.Text[i] in ['0'..'9']) then
Begin
sign:=edit1.Text[i];
w:=i;
End;
Case sign of
'*': edit2.Text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) * strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));
'/': edit2.Text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) / strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));
'+': edit2.text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) + strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));
'-': edit2.Text:= floattostr(strtofloat(LeftStr(edit1.Text,w-1)) - strtofloat(rightstr(edit1.Text,length(edit1.Text)-w)));
End;
except
On ECONVERTERROR DO BEGIN
end;
end;
end;
end.
Hú, de hosszan sikerült leírnod azt, hogy milyen szemetek vagyunk mert nem írtunk a kérdezőnek kész forráskódot. (külön puszi a sok szakkifejezésért, ettől valóban úgy tűnik, mintha értenél hozzá :)
Én viszont még mindig tartom az álláspontom, és szerintem a többiek is.
G.
Én is tartom magam az álláspontomhoz.
#22: te biztos hiperjószívű vagy, ami dicséretes, de picit el vagy tévedve.
A kérdező kapott használható (!) megoldási tippet, konkrét megoldást is magyarázattal, és szart rá. Szart rá utánanézni és szart rá gondolkodni rajta, próbálkozni vele. Azt írta, megvárja, míg a jószívű kolléga megírja helyette, meg sem próbálta egyedül összetákolni.
A kérdező kódján nem lett volna elég bütykölni, új megoldást pedig felesleges írni, mikor kész megoldások találhatóak másodpercek alatt a neten. Linkeltem is egyet (valójában kettőt) neki, hőbörgött tovább.
Nem mi vagyunk a tanárai. De tőlünk kért segítséget. És mi tapasztalatból tudjuk, hogy programozni úgy tanul meg az ember, ha programozik. És a tanárai is tudják ezt: ezért kapta a feladatot.
És ha tovább gondolkodunk: most valaki megoldja neki a háziját, nem tanul semmit, így a későbbiekben már nagyobb hiányosságai lesznek programozás terén. Végső soron nem jut semmire azzal, hogy ebbe a suliba jár.
...én már csak egy dolgot hiányolok tőled, előző: Ha annyira nagy probléma, hogy mi nem írtunk ide a kérdezőnek egy nyamvadt kódot, akkor te miért nem tetted már meg?
Más dolog, hogy valami förtelmesen fogalmazol. Inkább ne erőltesd a magasröptű kifejezéseid, nem állnak jó.
G.
Azért nem, mert ő a kérdező és saját magát védi...
Atomszánalmas...
hogy miért nem?
1. a feladat komplikált
2. nem vagyok delphi-s
3. nincs itt az arc,mert már rég kiszállt a beszélgetésből, ha nem vettétek volna észre.
4. ilyen embereknek élből nem raknám ki ide a forráskódot,semmilyen programozási nyelven.tanulják meg maguk,szerezzék be, fejtsék meg,abban még van némi igazság.
5. nem utolsó sorban, meg sehol sem lelhető fel,az ő példájába beillő forráskód a neten. jobb és rosszabb van,meg teljesen gagyi és működésképtelen,meg kismillió vele kapcsolatos kérdés és tanakodás, de az ő egyedi kérésének megfelelő változatban nincs képlet.
6. abszolút finishben,pedig a magam részéről a beszélgetést én is hanyagolom,mert akkora surmók itt egyesek,hogy ilyeneket még fejleszteni is nehéz lenne,nemhogy megteremteni.
további jó szórakozást és okoskodást!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!