ehhh.Terve taas kaikki !
Ongelma on yksinkertainen (ohjelmoijalle)!
(Olen vain mokoma tuurari ,joka ei tajua mistään mitään), mutta kuitensikii...
Eli siis...
Memoon kopioidessa tietoa painaessa esim. nappia
haluan lisätä jotain. Eli ongelma näyttää seuraavalta:
procedure TForm1.Button1Click(Sender: TObject);
var
begin
memo1.lines[1].add := 'päivää';
end;
end.
Tämä koodi toimii kyllä, mutta jos memossa on ennalta jotakin, niin se kopioi sen siihen line1:sen päälle. Miten sen saisi ohitettua ?
Tai parempi olisi jos nappia klikkaamalla kopionti tapahtuisi suoraan memossa olevan kursorin eteen !!!!
Ongelma on yksinkertainen (ohjelmoijalle)!
(Olen vain mokoma tuurari ,joka ei tajua mistään mitään), mutta kuitensikii...
Eli siis...
Memoon kopioidessa tietoa painaessa esim. nappia
haluan lisätä jotain. Eli ongelma näyttää seuraavalta:
procedure TForm1.Button1Click(Sender: TObject);
var
begin
memo1.lines[1].add := 'päivää';
end;
end.
Tämä koodi toimii kyllä, mutta jos memossa on ennalta jotakin, niin se kopioi sen siihen line1:sen päälle. Miten sen saisi ohitettua ?
Tai parempi olisi jos nappia klikkaamalla kopionti tapahtuisi suoraan memossa olevan kursorin eteen !!!!
Vastaukset 5
Vanhimmat
Siis oletko valinnut jonkun tekstin jostain kopioimalla, joka pitäisi sitten liittää siihen kohtaan memoa, jossa kursori on? Jos näin, niin koodi on yksinkertaisesti
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.PasteFromClipboard;
end;
Jos taas haluat jonkun tietyn merkkijonon (tässä "päivää") lisätä Memoon, niin seuraava koodi laittaa sanan "päivää" ensimmäiselle vapaalle riville:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add('päivää');
end;
Sitä, miten tuon jälkimmäisen saa kursorin kohdalle, en näin äkkiseltään osaa sanoa, kun en ole guru asiassa.
Paitsi, että mites se nappia painamalla kopiointi ? Esim.
procedure TForm1.Button9Click(Sender: TObject);
begin
label1.caption.CopyToClipboard;
end;
end.
Miksi tämä ei toimi ?
Label ei ole sellainen komponentti, jossa tuo copy-paste olisi mahdollinen. Labeliinhan ei ohjelman käyttäjä koskaan syötä mitään tietoa. Sen sijaan Edit-komponentti, Memo-komponentti, RichEit-komponentti jne käyvät tähän tarkoitukseen. Esimerkin voisi laittaa vaikkapa näin
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.CopyToClipboard;
Memo1.PasteFromClipboard;
end;
Ja jotta homma toimii, pitää luonnollisesti käyttäjän valita hiirellä se osa Edit1:n tekstiä, minkä haluaa kopioitavaksi.
Haluaisin saada mahdollisimman simppelisti otettua printscreenillä kuvan työpöydästä ja lähetettyä sen kaverin mailiin.
Miten onnistuu tai onnistuuko mitenkään?
Ei saisi häiritä tavallista koneenkäyttöä, eli makro Wordiin vai miten??
delphistä mulla ei oikein ole mitään hajua muuta että se on vähän sukua borlandin c builerin kanssa(paitti että siinä käytetään ihan eri kieltä) :)
mutta uskoisin että siitäkin löytyisi tällänen käsky kuin:
memo1.SelText = "jotain lisää";
eli memoon kirjoitetaan valitun tekstin päälle jotakin ja jos ei ole valittu mitään niin se teksti tulee kursorin kohdalle...eli jos ennen tuota käskyä siiretään kursori halutulle paikalle niin homman pitäisi toimia :)