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
❮❮ 1 2 3 4 5 6 7 8 9 10
 91/95 anonim ***** válasza:
es ezek az impulzusok mire lennenek jok?? kepzelem az amugy is szigoruan vedett es katonailag figyelt airbandon hogy orulnenek neki egy ilyen kis "jateknak",foleg most a terrorfenyegetettsegek koraban. veszelyes marhasag egyaltalan nem vagy vicces!
2015. okt. 2. 23:56
Hasznos számodra ez a válasz?
 92/95 anonim ***** válasza:
Mindezt gondolom irányított Yagi,vagy UHF antennával mi? és ki adja a rádiót hozzá, a liszt feris reptéri irányítóközpont személyesen,vagy postai utánvétellel?? :-D
2015. okt. 3. 00:12
Hasznos számodra ez a válasz?
 93/95 anonim ***** válasza:

A feladat kivalló, de abszurd és életveszélyes,de mi is kell hozzá nézzük csak át programozásilag legalább igen nagyvonalúkban


1. Kell egy olyan driver vagy komponens, ami kezeli a portokat és interruptokat, megkerülve vagy éppen kijátszva a kernelt,mert a win mostani verziói nem engedi meg csak 95-nél a közvetlen interrupt és port eléréseket.


(Van éppen ilyen, de a legtöbbje fizetős, attól függ milyen prog platform alá kell, C, Delphi, VB)


2. Tudni kell programozni a videokártyát, legalább annyira, hogy tudni kell melyik port állítja elő az órajelet.


3. Azt be kell hívni egy a formon nem látható textboxba, vagy listboxba, majd abból egy findtext, pos, indexof, vagy akármilyen kereső függvénnyel és kombijaival rá kell kerestetni a számokra az egész beírómezőben, ha megtalálta, akkor azt berakni az editbe, utánaírva egy +, vagy éppen - jelet ugye számtól függően.


5. Majd elküldeni a jelet szintén egy olyan rádió készülékre, ami rá van csatizva a gépre, amihez szintén ismerni kell vagy a soros, vagy az usb portok programozását és azt, hogy az adott rádió melyik porttal váltja ki a DX-elés üzemmódót, majd attól függöen el kell döntenie a programnak, hogy - előjel esetén az egyik frekvenciára, majd a másik frekire küldi ki a jelet, ha 122, akkor 2 rádió kell, mert az egyik antennája dél felé vagy irányítva, a másik pedig észak felé. hacsak nem olyan profkó a rádió, hogy két antennát és két sávot is tud egyszerre egy időben váltani és kezelni.


Még az nem világos, hogy sima sound utasítással kell jelet varázsolni, vagy messagebeep-el, mármint a 122 Hz és 123 Hz-es jeles + ugye bejátszik egy 2*pi*f ami lófütty és a többi és a többi okosság.


Simán kivitelezhető, ha okos a rádiód és ha okos vagy programozásban. SimkoL és Coopper biztos simán generál nektek egy ilyen programot, meg én is, de bolond leszek, hogy helyetted csüccsenjek majd a böribe és akkor tényleg filmet írhat róla majd kedves, valaki által említett Spielberg bácsi halálra kacagva magát az "agyament programozók", akinek nem inge ne vegye magára társaság eget rengető találmányától...

2015. okt. 3. 00:41
Hasznos számodra ez a válasz?
 94/95 anonim ***** válasza:
Na látom megint átjöttek az emberek az UFO észlelések részlegről.
2015. okt. 3. 00:50
Hasznos számodra ez a válasz?
 95/95 SimkoL ***** válasza:

A jelgenerálást már korábban megoldottam, kissé vizuálissá is téve :) 50 Hz és 5 kHz a határ, tud szinusz, négyszög és háromszög jelet, de a háromszög állítható így lehet fűrész is.

[link]

A videó kártya órajelének fixnek illene lenni, mivel órajel. Esetleg a videókártya által generált jelekből...

2015. okt. 3. 07:52
Hasznos számodra ez a válasz?
❮❮ 1 2 3 4 5 6 7 8 9 10

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!