masowe wrzucanie

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0

Do SynMemo zrobiłem takie coś na wrzucanie plików:

[code]procedure Tnotatnik.SynMemoDropFiles(Sender: TObject; X, Y: Integer;
AFiles: TStrings);
BEGIN
opendialog1.filename:=AFiles[0]; SynMemo.Lines.LoadFromFile(opendialog1.FileName);

END;[/code]

A jak zrobić masowe wrzucanie, a nie tylko jednego pliku. Np. zaznaczam 10 plików i przeżucam do SynMemo i niech się tam wszystkie załadują po kolei np. oddzielone enterem.

W0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 384
0

procedure Tnotatnik.SynMemoDropFiles(Sender: TObject; X, Y: Integer;
AFiles: TStrings);
var i : integer;
BEGIN
for i:=0 to AFiles.count-1 do
SynMemo[i].Lines.LoadFromFile(AFiles[i]);
END;

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0

SynMemo[i]

<font color="red">[Error] Unit1.pas(1096): Class does not have a default property</span>

???

Szymek
  • Rejestracja: dni
  • Ostatnio: dni
0

procedure Tnotatnik.SynMemoDropFiles(Sender: TObject; X, Y: Integer;
AFiles: TStrings);
var i : integer;
begin
for i:=0 to AFiles.count-1 do
SynMemo[i].Lines.LoadFromFile(AFiles[i]);
end;

TU chodzi o to że SynMemo to jest tablica z TSynMemo kapujesz?

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0

Ale kodzik chyba wziełeś ten sam co? - i jak to mam ruszyć ?

TH
  • Rejestracja: dni
  • Ostatnio: dni
0

W kodzie są dwa błędy. Po pierwsze:

procedure Tnotatnik.SynMemoDropFiles(Sender: TObject; X, Y: Integer;
AFiles: TStrings);
var i : integer;
begin
for i:=0 to AFiles.count-1 do
SynMemo.Lines[i].LoadFromFile(AFiles[i]);
end;

Drugi błąd jest taki, że nowy plik będzie zastępował kolejne. Tak więc trzeba sobie stworzyć jakiś tymczasowy TStringList, do którego będzie się ładować kolejne pliki, a potem doklejać go do synmemo :).

Vogel
  • Rejestracja: dni
  • Ostatnio: dni
0

procedure Tnotatnik.SynMemoDropFiles(Sender: TObject; X, Y: Integer;
AFiles: TStrings);
var
i : integer;
s: TStrings;
begin
s:=TString.Create;
for i:=0 to AFiles.Count - 1 do begin
s.LoadFromFile(AFiles[i]);
SynMemo.Lines.AddStrings(s)
end;
s.Free;
end;

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0

[code]procedure Tnotatnik.SynMemoDropFiles(Sender: TObject; X, Y: Integer;
AFiles: TStrings);
var
i : integer;
s: TStrings;
begin
s:=TString.Create;
for i:=0 to AFiles.Count - 1 do begin
s.LoadFromFile(AFiles[i]);
SynMemo.Lines.AddStrings(s)
end;
s.Free;
end; [/code]

<font color="red">[Error] Unit1.pas(1096): Undeclared identifier: 'TString'</span>

MatroX
  • Rejestracja: dni
  • Ostatnio: dni
0

Yyy...

TString<font color="red">s</span>.Create

:)

Vogel
  • Rejestracja: dni
  • Ostatnio: dni
0

<font color="red">[Error] Unit1.pas(1096): Undeclared identifier: 'TString'</span>

Trudno się domyślić że tego s tam brakuje?? He??

Deti
  • Rejestracja: dni
  • Ostatnio: dni
0

<font color="red">[Warning] Unit1.pas(1096): Constructing instance of 'TStrings' containing abstract method 'TStrings.Clear'</span>

no i rzeczywiście, podczas wrzucania: Abstract error

Sorry, że tak męcze z tym. ale to ważne

???

Vogel
  • Rejestracja: dni
  • Ostatnio: dni
0

Zamień wszystkie wystąpienia TStrings na TStringList.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.