POMOCY!! - PYTANKA

0

Jak to zrobić?

  • Aby do Richedit było można przeciągać pliki textowe , a ich zawartość wtedy była pokazywana w Richedit (jak w notatniku)??

  • Aby do messagebox wyświetlić zmienną typu String oraz opendialog.filename?? (próbowałem rzutowania PCHAR (opendialog.filename) i nie działa).

  • Aby do Richedit wklejać text, wycinać zaznaczony, usuwać zaznaczony, kopiować zaznaczony (mam WIN XP i ponoć tutaj to jakoś inaczej działa)

  • Jak spowodować, aby przy kliknięciu na krzyżyk u góry po prawej stronie okna zamykający aplikacje uruchomiła się dana procedura, a nie jek to jest teraz - zamyka się program. Nie chodzi tu o zdarzenie onclose - gdyż jest to polecenie już w momencie zamykania, a ja chce tylko przejmować naciśnięcie krzyżyka.

  • Jeżeli z pliku odczytuje się litery do zmiennej "a" typu char w ten sposób (read(t,a)) to jak się takie coś robi w RichEdit??

  • I czy można określoną część textu w Richedit zapisać na inny kolor niż pozostałe (np. tekst od pozycji 2 do 5, czyli tylko 3 literki)?? To samo z pogrubnieniem, podkreśleniem...)

  • Czy można w Delphi używać zmiennych oznaczających liczby zespolone (Complex) oraz macierze (Matrix-size) i jak się takie typy nazywaja ?

  • I czy ktoś może mi wyjaśnij następujące opcje obiektów: auto size, BiDimode, Client Height, Client Width, Ctl3D, Dock Site, Drag Kind, Drag mode, Help context, Key preview, Object menu item, Old create order, parent BiDi mode, parent font, scaled, Use dock manager ????

  • Czym się różni Button od BitBtn i od Speed button?

0
  1. RitchEdit.lines.PasteFromclipboard;
    CutToclipboard;
    czy jakos tak :)

  2. On CloseQuery
    Action:=caNone

  3. RitchEdit1.lines.SelStart:=0;
    RitchEdit1.lines.SelLenght:=10;
    RitchEdit1.lines.SelAtributte:=font;

och duzo tych pytan :)

                     --||===
0

gizmo napisał:

  • Aby do Richedit było można przeciągać pliki textowe , a ich zawartość wtedy była pokazywana w Richedit (jak w notatniku)??

To jest wyciąg z mojego dawno napisanego komponencika. Przykład obsługi D&D

type
TFileDropEvent = procedure(Files: Tstrings; X, Y: Integer) of object;

procedure WMDROPFILES(var Msg: TWMDropFiles); message WM_DROPFILES;
procedure SetAcceptFiles(Accept: Boolean);

property AcceptFiles: Boolean read FAcceptFiles write SetAcceptFiles;
property OnFileDrop: TFileDropEvent read FOnFileDrop write FOnFileDrop;

*Drag & Drop
procedure TDrzewo.WMDROPFILES(var Msg: TWMDropFiles);
var
i, DropCount, BufSize: integer;
FileName: pChar;
FileList: TStrings;
Point: TPoint;
begin
BufSize := 0;
DropCount := DragQueryFile(Msg.Drop, $FFFFFFFF, nil, BufSize);
FileList := TStringList.Create;
try
for i := 0 to DropCount - 1 do begin
BufSize := DragQueryFile(Msg.Drop, i, nil, BufSize) + 1;
FileName := StrAlloc(BufSize + 1);
try
DragQueryFile(Msg.Drop, i, FileName, BufSize);
FileList.Add(FileName);
DragQueryPoint(Msg.Drop, Point);
finally
StrDispose(FileName);
end;
end;
DragFinish(Msg.Drop);
if Assigned(FOnFileDrop) then
FOnFileDrop(FileList, Point.X, Point.Y)
finally
FileList.Free;
end;
end;

procedure TDrzewo.SetAcceptFiles(Accept: Boolean);
begin
if not(csDesigning in ComponentState) then
DragAcceptFiles(Handle, Accept);
FAcceptFiles := Accept;
end;
*koniec D&D

Dzięki temu uzyskasz listę przeciąganych plików. Potem musisz otworzyć plik i dodać jego zawartość.

  • Aby do messagebox wyświetlić zmienną typu String oraz opendialog.filename?? (próbowałem rzutowania PCHAR (opendialog.filename) i nie działa).

A u mnie to działa:

if OpenDialog1.Execute then
MessageBox(Handle, PChar(OpenDialog1.FileName), PChar(OpenDialog1.FileName), 0);

--
Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

W OnCloseQuerry:
CanClose:=False

Odczytuj RichEdit1.Lines.Text - jest to string.

Można, zaznacz tekst (SelStart, SelLength) i używaj SelAttributes (PlainText na False of koz).

AutoSize - dostosowuje rozmiar komponentu do komponentów w nim zawartych
BiDimode - text od lewej do prawej lub odwrotnie
ClientHeight, ClientWidth - rozmiar okna bez ramek
Ctl3D - kontrolka ma byc 3D (Win98) czy 2D (Win3.1)
DockSite - zezwalać kontrolkom na dokowanie tutaj czy nie?
DragKind - przeciąganie myszką daje albo efekt normalnego przeciągania, albo efekt rozpoczęcia procedury oddokowywania/dokowania kontrolki
DragMode - określa, czy dragowanie jest rozpoczynane przez przeciąganie myszką (automaticl) czy też przez wywołanie StartDrag (manual)
HelpContext - index helpa, który jest przypisany do kontrolki
KeyPreview - True: forma otrzymuje wszystkie informacje na temat klawiszy; False: tylko klawisze nie przjęte przez inne kontrolki (chyba)
ObjectMenuItem - używane w OLE
OldCreateOrder - dla True OnCreate jest uruchamiane w kreatorze formy, dla False już po kreatorze, OnDestroy dla True jest uruchamiany w destruktorze, dla False przed nim
ParentBiDiMode - przejęcie BiDiMode po rodzicu (np: Przycisk przejmuje BiDiMode po formie)
ParentFont - jak wyżej, ale dla czcionki
Scaled - ??
UseDockManager - używane przy dokowaniu, nie znam się na tym--Vogel [Delphi 6 PE]

I TY możesz nauczyć się grać w bierki!

0

Do 2:
Musisz wpisać OpenDialog1.FileName

0

&gt- Czy można w Delphi używać zmiennych oznaczających liczby zespolone (Complex) oraz macierze (Matrix-size) i jak się takie typy nazywaja ?

jest unit VarCmplx obslugujacy zmienne wariantowe zawierajace liczby zespolone. unit zawiera wiele funkcji operujacych na liczbach zespolonych. poszukaj w helpie np pod funkcja VarComplex

--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
jest unit VarCmplx obslugujacy zmienne wariantowe zawierajace liczby zespolone. unit zawiera wiele funkcji operujacych na liczbach zespolonych. poszukaj w helpie np pod funkcja VarComplex

Proponuję jednak zadeklarować własne zmienne i wprowadzić własne operacje na nich (najlepiej w assemblerze).--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

Dryobates napisał:
&gt
&gtProponuję jednak zadeklarować własne zmienne i wprowadzić własne operacje na nich (najlepiej w assemblerze).
&gt
A czemu? Skoro sa gotowe...--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
A czemu? Skoro sa gotowe...

Własny typ:

  • dopasowany do konkretnych danych, więc zajmuje jedynie tyle miejsca ile potrzeba
  • procedury napisane w assemblerze zwykle są szybsze
  • mniej wygodne

Wszystko zależy od zastosowania. Jeżeli wykorzystuję niewiele liczb zespolonych, to za Variantami przemawia wygoda użytkowania, jeżeli dużo, to szybkość i ekonomiczne wykorzystanie pamięci przez własny typ.
I jeszcze jedno. Np. przy fraktalach korzysta się z licz zespolonych (mnożenie punktu przez punkt). W takim wypadku najlepiej w ogóle nie wykorzystywać liczb zespolonych, a zastąpić je parą odpowiednich dwumianów i dokonywać obliczeń na liczbach całkowitych z wykorzystaniem operacji na bitach (shl i shr zamiast mnożenia i dzielenia).--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

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