Pytanie związane z przechwytywaniem zaznaczanych elementów

0

Przepraszam z góry, jesli podobne pytanie gdzieś na forum padło i ktoś podał odpowiedź, ale przeczesanie prawie tysiąca stron z wątkami zakończyłem w okolicach strony dwudziestej. Przyznam szczerze na kolanach bez bicia, że z forum nie jestem na bieżąco i być może dlatego nie znalazłem odpowiedzi, albo po prostu źle szukałem ;-( .

Dla przykładu mam na formie ListBox, PopupMenu, Edit, Button. Buttonem dodaję do ListBoxa tekst z edita, a popupem chciałbym wartość zaznaczonego elementu z listboxa wrzucić gdziekolwiek (popupem potrafię się posługiwać), nie mogę dojśc jak to do diabła cieżkiego zrobić, ślęczę nad tym dobrą godzinę i lipa. Konkretnie chodzi mi o to, jak napisać kod, który umożliwi mi przechwycenie zaznaczonego w ListBoxie elementu przez użytkownika. Nosz ciemna anielka zaraz rzucę tym laptopem i pójdzie dwa i pół koła przez okno :-[ Prosiłbym jakąś mądrą główkę również o odpowiedź, jak analogicznie można postępować z ComboBoxem, RichEditem i Memo. Z góry stromej i skalistej bardzo dziękuję za odpowiedź :* I proszę nie jeździć po mnie walcem, ja się dopiero uczyć :D

0

rozwiązanie ListBox , ComboBox;

var
S:string;
// no i pod jakimś menu :
S:=ListBox1.Items[Listbox1.ItemIndex];
//ListBox1.Items to zbiór wartości listbox'a o indeksach 0..n-1
//Listbox1.ItemIndex to index elementu wybranego.

rozwiązanie RichEdit, Memo:

S:=Memo1.lines[Memo1.CaretPos.Y];  // Pozycja Y Kursora czyli linia 0..n-1

Jak dobrze zrozumiałem , przypisuje w do zmiennej wartość wskazaną w Listbox1
natomiast w przypadku Memo i Rich Edit Pobiera Tekst z Linii w której znajduje się kursor .
(wrzuć to do menu jakiegoś).
[soczek]
A i Cx3 sympatycznie przedstawiłeś problem ale nie używaj języka literackiego:P
dużo szybciej i prościej czyta się postawione pytanie oddzielone od "wstępu i przemyśleń" [green]
bo rzucam okiem i wiem . natomiast tu muszę się wczytać żeby zobaczyć o co chodzi:D

0

Jesteś moim mistrzem i stawiam na stolik wirtualną skrzynię browara user image

Działa jak natÓra chciała [rotfl] Z ListBoxem może - ale to raczej malo prawdopobne - może bym wpadł, jak bym tak do czwartej posiedział, hehe. Ale z memo nie ma takiej opcji. Bardzo Ci dziękuję za odpowiedź i następnym razem jak będę konstruował pytanie, to nie będzie takie dzikie. Miłego dnia [rotfl]

0

Mam jeszcze jedno pytanie, pewnie znów sprawa będzie prosta i oczywista :-/

Mam na formie FileListBox i ListBox. Po kliknieciu buttona "dodaj" w listboxie pojawia sie sciezka do danego folderu i ponizej wylistowane są pliki z tegoż folderu. Mam drugiego buttona, który na żądanie użytkownika ma wywalić z listboxa cały wylistowany folder, wraz z wymienionymi plikami z niego. Szlag mnie trafia bo ciągle jakieś errory są. Poniżej przedstawiam kod buttona "dodaj"

procedure TKoder.DodajClick(Sender: TObject);
var
  LiteraDysku,c : Char;
  Sciezka,s     : String;
  NazwaPliku    : String;
  Dlugosc,i     : Integer;

begin

  Pliki.Items.Delimiter:='*';
  Lista.Items.Delimiter:='*';
  LiteraDysku:=Dyski.Drive;

  if Length(Foldery.Directory)>3 then
    Sciezka:=Foldery.Directory+'\'
  else
    Sciezka:=Foldery.Directory;

  Lista.Items.Add('>'+Sciezka);

  Dlugosc:=Length(Pliki.Items.DelimitedText);
  s:='';

  For i:=1 to Dlugosc do
  begin

    c:=Pliki.Items.DelimitedText[i];

    if c='*' then
    begin
      Lista.Items.Add(s);
      s:=''
    end else
      s:=s+c;

  end;{for}

end;

Lista=ListBox
Dyski=DriveComboBox

Jak do diaska napisać procedurę, która po zaznaczeniu w listboxie np: >c:\app\d usunie z listboxa nazwę folderu i poniższe pliki? Wiem, że to zagmatwane i chore wręcz i mógłbym tę opcję wyeliminować, ale jak pisać porządny program to porządny musi być :/ proszę o heeeelpa ;-(

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