Kilka bitmap

0

Czołem!

Takie pytanie

Mam kilkanaście bitmap, których nazwa jest O1, O2, O3 .... O5.bmp.
Jak wczytać je w pętli aby nie wykrzaczyło ?

 
for i:=1 to 5 do
begin
   AssignFile(TF,'C:\O'+IntToStr(j)+'.txt');  
end;

takie coś mam ale to wykrzacza jeśli napotka błąd, czyli nie ma pliku... a taka sytuacja może się zdarzyć w programie...

if Not FileExists załatwiłoby sprawę ale jak tego użyć w tym kontekście ? jakieś propozycje ?

0
for i := 1 to 5 do
begin
  FName := 'C:\O' + IntToStr(i) + '.txt';
  if FileExists(FName) then
  begin
    AssignFile();
    // i zrob to co trzeba
  end;
end;

Nie pamiętam jak dokładnie używa się FileExists, ale chodzi o coś w tym stylu zapewne.

Ale może lepsze będzie wyszukiwanie plików pasujących do maski? FindFirst, FindNext i te sprawy.

0

Wywala błąd...

Ja to też jestem dobry, napisałem bitmapy a chodzi o pliki txt...

Nie wiem, może jest inne rozwiązanie aby to zrobić...bo sprawa wygląda tak , że w pewnym formularzu (nazwijmy go dynamicznym) zapisywane są dane do plików tekstowych.
Dokładnie to chodzi o program do robienia ofert dla klientów... naciskam "stwórz ofertę" i wchodzi mi do formy gdzie strugam pewne dane...po czym zapisuje je do pliku O1.txt co oznacza, że są to dane z Oferty nr 1... Cały błąd polega na tym, że ofert jest np. 15... a 16 jeszcze nie ma :) , co powoduje błąd w AssigFile O16.txt :)

Any ideas ?:)

0

Dokładnie to chodzi o program do robienia ofert dla klientów... naciskam "stwórz ofertę" i wchodzi mi do formy gdzie strugam pewne dane...po czym zapisuje je do pliku O1.txt co oznacza, że są to dane z Oferty nr 1...

Pliki tekstowe nie są najlepszym rozwiązaniem - sugerowałbym stworzyć jeden plik z listą ofert - np. amorficzny i każdą kolejną ofertę dopisywać do pliku, niż tworzyć dla każdej oferty osobny plik; Mając jeden plik możesz przy starcie aplikacji lub tworzeniu formularza dynamicznie ładować zawartość tego pliku do tablicy, następnie listę tą modyfikować (przez dodawanie czy usuwanie ofert), a na koniec zapisać znów do pliku. Zaoszczędzisz sobie pracy i bawienia się z szukaniem plików po dysku;

Jeśli wolisz każdą ofertę mieć w osobnym pliku to ratuje np. FindFirst/FindNext i szukanie wszystkich w danej lokalizacji pasujących do wzorca, albo przechowywanie tej listy plików w innym pliku, ale o i tak bez sensu; Lepiej mieć jeden plik z pełną listą;

0

Hmm...

Kurde ja orłem w programowaniu nie jestem... Ta mała aplikacja ma pomóc mi przyspieszyć pracę w firmie. Jako niedoszły informatyk :) nie ogarnąłem plików amorficznych...
Kompendium Delphi leży i się kurzy... Z pewnością nie podołam.

W tej formie jest stosunkowo dużo komponentów, które zapisywałem do plików txt w sposób opisany powyżej...

Mam prośbę, napiszesz mi kod do zapisu z użyciem plików amorficznych ? - tylko takie coś aby zapisać dane z jednego komponentu Edit1 , plis :)

0
var Oferta:TStringList;

Oferta:=TStringList.Create;
//Oferta.Text:=TREŚĆ_OFERTY; // lub
Oferta.Add(WIERSZ_1_OFERTY);
Oferta.Add(WIERSZ_2_OFERTY);
//...
Oferta.Add(WIERSZ_N_OFERTY);
Oferta.SaveToFile('C:\O' + IntToStr(i) + '.txt');
Oferta.Free;
0
 
Oferta:=TStringList.Create;

Oferta.Add(Edit1.Text);
Oferta.Add(Edit2.Text);
Oferta.Add(Edit3.Text);
Oferta.SaveToFile('C:\Oferta.txt');

Nie tworzy pliku Oferta.txt na dysku C ... wtf ? :)

Sory, że tak zawracam głowę, nie chcę się podlizywać, ale dla Was to drobnostka...

0

uruchom jako administrator :) heheh
na D tworzy :)

a jak to odczytać teraz ? :)

0

tak się teraz zastanawiam... czy to zmienia postać rzeczy... No bo jeśli mam dane z oferty nr 1 to mam zapisać np. jako dane1.txt , a z oferty nr 2 jako dane2.txt ? to na to samo wyjdzie ... chyba, że mam wszystko zapisywać do jednego, ale nie odczytam tego później w żaden sposób...

0

wszyscy mnie opuścili :)

Oferta.Add(Edit2.Text);

jak zapisać to powyżej np. do 5 linii ?

Delphi podpowiada : function Add(constant S:string):integer; ale tak się nie da :)

0

Odczyt:
Oferta:=TStringList.Create;
Oferta.LoadFromFile('C:\Oferta.txt');

Wstawianie w N-ty wiersz:
Oferta.insert(N,'Treść N-go wiersza liczone od zera');

0

Dragon a nie chcesz zarobić trochę $ ? :)

0

Napisz na PW czego dokładnie potrzebujesz.

0

daj maila bo konta nie mam tutaj lub nr tel. to zadzwonie...

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