Kilka pytań związanych z DateTimePicker i plikami

Odpowiedz Nowy wątek
2006-08-02 22:59
0

Witam

Pytanie 1: Mam na formie 3 edity i DateTimePicker pokazującego date w formacie yyyy MMMM dd. Czy da się (a jeśli tak to jak) rozdzielić tę datę (np. po kliknięciu przycisku) tak, by w jednym edicie był rok, w drugim miesiąc, a w 3 dzień?

Pytanie 2: Mam na formie powiedzmy 10 komponentów memo (ustawionych np jeden pod drugim), a obok każdego po 1 labelu. Mam również folder w którym znajdują się różne pliki m.in txt. (ilość plików txt jest mniejsza badz równa ilości memo). Jak zrobić by (np. po kliknięciu przycisku) pliki txt wczytały się do memosów (każdy do innego (najlepiej alfabetycznie, to znaczy według nazwy)), a ich nazwy (plików) znalazły się w labelu obok odpowiedniego memosa.

Pozostało 580 znaków

2006-08-02 23:48
0
  1. jest taka możliwość

  2. FindFirst + FindNext + FindComponent

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-08-03 10:24
0

1 DecodeDate/EncodeDate + F1


Suma inteligencji na świecie jest wartością stałą, niestety ludzi przybywa.

Pozostało 580 znaków

2006-08-04 01:04
0

No tak ale to zamiast miesiąca "słownego" pokaże mi go w postaci liczbowej. Chciałbym by to wyglądało dokładnie jak w w tym DateTimePicker (uwzględniając możliwość zmiany wyświetlanego formatu).

A co do drugiego pytania to domyślałem się iż trzeba bedzie zastostowac FindFirst, Next itp. gdyż to najczesciej pojawia sie w odpowiedziach na temat wyszukiwania plików. Jednak nie za bardzo wiem jak zastosować to w moim przypadku.

Pozostało 580 znaków

2006-08-04 13:06
Ad
0

Ad1. Trzeba ręcznie zamienić liczby na nazwy miesięcy.
Ad2.:

procedure Form1.Button1Click(Sender: TObject);
var
  Dir:string;
  SR : TSearchRec;
  Found,I: Integer;
begin
   Dir:='C:\folder\';
   I:=1;
   Found := FindFirst(Dir + '*.txt', faAnyFile, SR);
   while ( Found = 0 ) do begin
     TMemo(Form1.FindComponent('Memo'+IntToStr(I))).Lines.LoadFromFile(Dir+SR.Name);
     TLabel(Form1.FindComponent('Label'+IntToStr(I))).Caption:=Dir+SR.Name;
     I:=I+1;
     Found := FindNext(SR);
   end;
   FindClose(SR);
end;

Pozostało 580 znaków

2006-08-04 20:46
0

Ad1. Trzeba ręcznie zamienić liczby na nazwy miesięcy.
Nie trzeba

var
Miesiac: Integer;
Nazwa: string;
begin
Miesiac := 1; //przykładowo styczeń
SetLength(Nazwa, 30);
SetLength(Nazwa, GetLocaleInfo(LOCALE_USER_DEFAULT,
LOCALE_SMONTHNAME1 - 1 + Miesiac, PChar(Nazwa), 30);
ShowMessage(Nazwa);

Pozostało 580 znaków

2006-08-07 13:04
Ad
0

Bądź co bądź nie jest to jakaś funkcja typu

IntToMonths(Num:Byte):string;

:-D
A jak sam napisze to będzie to niezależne od wersji językowej systemu [!!!]


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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