Kezdőoldal » Számítástechnika » Programozás » Karakterek beszúrása probléma...

Karakterek beszúrása probléma delphiben, van rá megoldás?

Figyelt kérdés

A segítségeteket szeretném kérni,mert elakadtam benne. Olyan progit kell írnom,ami két db számérték beírásakor, azaz 122 esetén egy "-" jelet ír a textboxba egy enter lenyomása után, 123 esetén pedig "+" jelet és ezt ismételgeti így a végtelenségbe, ebben a formában pl:


122-123+122-123+122-123+122-123+ stb...

vagy

123+122-123+122-123+122-123+122-123+ stb...


3 számjegyig sikerült megoldanom,de aztán sajnos rendesen elakadtam és bele is fáradtam sajnos.Azt feltételezem,hogy biztos nem lehet azért ördöngösség megoldani,de jelenleg fogalmam nincs miképpen lehetséges és mit hagytam figyelmen kívül.Az én megoldásom biztosan pocsék, ezért szeretném kérni hogy segítsetek benne,mert elfogyott a türelmem vele szórakozni.:))


Előre is köszi!


Az eddigi próbálkozásom:


unit karakterbeszur;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;


type

TForm1 = class(TForm)

Edit1: TEdit;

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

Form1: TForm1;

var s:string;

implementation


{$R *.dfm}


function RepeatString(const s: string; count: cardinal): string;

var i:integer;

begin

for i := 1 to count do

Result := Result + s;

end;


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

var x:integer;

var y:integer;

begin

if key=#13 then begin


x:=length(edit1.text)+2;

y:=length(edit1.text)-2;


{x:=edit1.SelStart+2;

y:=edit1.selstart-2;}


if pos('123',edit1.text)>0 then begin

edit1.selText:=repeatstring('+',1);

s:=edit1.text;

delete(s,x+y,1);

edit1.Text:=s;

edit1.SelStart:=x-y div 4;

end;


if pos('122',edit1.text)>0 then begin

edit1.selText:=repeatstring('-',1);

s:=edit1.text;

delete(s,x-1,1);

edit1.Text:=s;

edit1.SelStart:=y+x * 4;

end;


end;

end;



2015. szept. 30. 15:32
 51/95 A kérdező kommentje:
Illetve az egyik megvan a programozzunk delphi 7-es bocsánat,de abban is olyan példák vannak, ami csak részben ad utalást azokra amit szeretnék,vagy csak én vagyok hozzá kevés, hogy kivegyem belőle a lényeget.
2015. okt. 1. 00:20
 52/95 SimkoL ***** válasza:
Matematikai ismereteket és kellő logikát feltételeznek a könyvek szerzői a programozótól, ezért nyomatják a sulikban is keményen a matekot. Sok dolgot neked kell összerakni apróbb dolgokból :), nincs mindenre kész megoldás, sablon.
2015. okt. 1. 00:28
Hasznos számodra ez a válasz?
 53/95 A kérdező kommentje:
Az a baj ezekkel a könyvekkel,hogy azt vettem ki belőlük,mármint ami megvan,hogy mindegyik a vizuális témák köré épít fel mindent.Kevés benne a karaktermanipulációs és stringkezelés rutinok, nincsenek interpretációs és matek algó kezelések és az egy parancssoros,vagy beírómezős rutinokat sem vesézik ki bennük.Arra kellene millió cucc főleg.:) Minden egy parancssorban és beírómezőben. Rengeteg rutin az Insert-re, Copy-ra, Pos-ra, Length-re, Delete-re, indexelésekre, tömbkezelésekre, pointerekre, edit és memo komponensekben végezhető temérdek lehetőség kitárgyalására. Ezekre nincs olyan leírásom vagy könyvem,ami direkt ezekkel foglalkozna sajnos.
2015. okt. 1. 00:29
 54/95 A kérdező kommentje:
és a billentyűzetkezelést még nem is említettem.
2015. okt. 1. 00:38
 55/95 A kérdező kommentje:
Igen programozónak az menjen,aki legalább 4-esre tudja a matekot,mert az nem fog sok nehézségbe ütközni valóban.Általános iskolában még számgép sem volt akkoriban,nemhogy programozás amin keresztül fel lehetett volna építkezni és lexikális tudásra lehetne manapság szert tenni.
2015. okt. 1. 00:44
 56/95 A kérdező kommentje:
A mai srácoknak már könnyebb valamennyivel,mert a matekot automatikusan összekötik a géppel lazán "főleg jobb helyen", nem úgy mint 30 éve, hogy még PC-je, vagy Sinclair gépe is csak a kiváltságosoknak volt:)) A Commodore az rendesen elterjedt azért,de nagy durranásokra az sem volt azért képes, mint pl egy ipari célgép, mint pl az ADP-2000-es,vagy PDP, TPA, VAX szériák és kombinációik, amikkel még programozási nyelveket is lehetett írni, nemcsak nyakig programozni benne a különböző hardwareket.
2015. okt. 1. 00:52
 57/95 A kérdező kommentje:
Na mindegy. Erről órákat lehetne beszélgetni szinte feleslegesen. Köszönöm a jó tanácsokat és az összes segítséget, source-ot!!! Igyekszem ennek eleget tenni és gyakorolni,amit csak lehetséges.
2015. okt. 1. 01:07
 58/95 anonim ***** válasza:
en,mint laikus absz hobbista delphizo kiprobaltam coopper forrasat kivancsisagbol es azon kivul persze,hogy tokeletesen mukodik,annyira kiokoskodta az egeszet,hogy mas random ertekeket el sem fogad,tehat 122-nel kisebb,vagy 123-nal nagyobb szamokat sem kezel le + vagy - jellel, felteve csak akkor,ha idezojelek koze teszem be azokat.kotve hiszem hogy ez az elozo srac megtud belole erteni valamit majd,mert en sem ertem.sot maga a sracot sem,hogy miert pont csak 122-vel es 123-al mukodik az egesz es miert nem attol kisebb,vagy attol nagyobb,hatarertekekre bontott szamokkal kerte a kodot.ez az egesz pelda es keres szamomra tok ertelmetlen.szerintem annak lenne valami ertelme,hogyha azt tudna amit leirtam es akkor ha az ertekek vegeredmenyet egy masik textbe bele is rakna.ez meg password kodolasra,vagy kulcs keszitesre is teljesen alkalmatlan velemenyem szerint.bar mondjuk ugy latszik ot ez egyaltalan nem erdekli mar,ellentetbe velem,mert azert hogy tanuljak valamit, vagy mas esetleg arra jo lenne egy ertelmezheto forras is hozza.
2015. okt. 2. 01:17
Hasznos számodra ez a válasz?
 59/95 anonim ***** válasza:

He-he még hogy nem alkalmas password vagy kukcs készítésre...Hát te el vagy tévedve.Rakj be e formra egy masik editboxot es ird be a

Hossz:=length (Form1.Edit1.Text);

után,hogy edit2.seltext:=inttostr(hossz+i)és nézd meg mit produkál, abból strutils unit segítségével, minden utolsó sor végéről a leftstr-el mondjuk kiválasztasz egy 4,vagy 8 vagy 16 értéket és közé teszel kettesével,vagy hármasával egy köt-jelet és ember legyen utána a talpán, aki abból kibogarássza azt, hogy mindez hogy jött létre.SimKol rejtjelező volt és majd elmondja róla a véleményét,hogy mit lehet csak ebből a kis vacak 122 és 123 féle marhaságokból kiokoskodni,akkor fogsz ám csak meglepődni igazán :D

2015. okt. 2. 01:37
Hasznos számodra ez a válasz?
 60/95 anonim ***** válasza:
Ja és persze ez még koránt sem a hegy csúcsa! Ha pl összeszorzod azt amit leírtam és bitenként csak kettesével,vagy hármasával elkezded léptetni az eredmény még durvább lesz,de akkor is,ha a 'Hossz-ból kivonod az I értékét és bitenként balra eltolod 4-el.Ha te ebbe nem látsz lehetőséget,felejtsd el a delphizést xerintem!:-))))
2015. okt. 2. 01:50
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!