ďťż

Ładny brzuch

Tworzę dzienniczek kolarski. Ma on na celu zliczanie przejechanych kilometrów, zliczanie czasu jazdy, ogólna średnia prędkość. (może jeszcze coś dołożę)
I mój problem:
Potrzebuję kolumn które będą zliczać poszczególne dane przy wprowadzeniu przejechanych kilometrów i czasu jazdy. Na początku myślałem aby zrobić to za pomocą komponentu "ListBox" ale nie wiem jak takie coś zaprogramować :(



Jezeli potrzebujesz kolumn to dlaczego chcesz wykorzystac ListBox. Bardziej praktyczniej bedzie zastosowac komponenty StringGrid, ValueListEditor lub ListView (styl vsReport). Cala reszta to juz prosta artmetyka. Przykladow tego typu tabel jest ORT! w sieci.
Użytkownik migajek edytował ten post 02 styczeń 2007, 17:47
Mam problem (jak dla mnie duży) Chciałem zrobic splashscreen ale zrezygnowałem i ORT! pliki formy (w tym w moim wypadku form6). Jak chciałem uruchomić program to wyskoczył mi bląd w project1.dpr więc wywaliłem z niego linijki które uznałem ze były związane z ta frmą 6. Lecz błąd zaczął występować w innym miejscu. Zaczęło mi oznaczać linijkę w której jest tylko słowo begin (podkreśliłem i pogrubilem w kodzie nizej).
program Project1; {%File 'Cyclist.bmp'} uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}, Unit3 in 'Unit3.pas' {Form3}, Unit4 in 'Unit4.pas' {Form4}, Unit5 in 'Unit5.pas' {Form5}, {$R *.res} [b][u]begin[/u][/b] Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm3, Form3); Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm5, Form5); Application.Run; end.
Wyskakuje mi błąd o takiej treści:

Identifier expected but 'BEGIN' found
Co mam zrobic aby usunac te bledy?
Użytkownik migajek edytował ten post 02 styczeń 2007, 22:56
Tak to jest jak się robi rzeźnię w kodzie ;)

W poniższej lini zamiast przecinka daj sobie średnik - przecież Unit5 jest ostatni jaki dodajesz więc trzeba to pokazać kompilatorowi. Jak tego nie zrobisz to wystartuje z łapami do begin'a (patrz komunikat o błędzie).


Unit5 in 'Unit5.pas' {Form5},



Dzięki za pomoc ;)

Mam jeszcze takie problemy:
1) jak uzupełnić pierwszy rząd (FixedRows), w rzędzie mają być 3 pozycje
2) problem jak dodać wpisy do StringGrid1 znajdującej się na Form1 - przeszukuje forum ale nic nie mogę znalesć.
Na Form2 Znajdują się 2 pola Edit1 i Edit2 oraz kalendarz - MonthCalendar1, oraz Button1 zatwierdzający wpis.
Jak mam przenieść te dane do tabeli (StringGrid1) aby dane ukazywały się ono kolejno w rzędzie (data | cyfry 1 | cyfry2)
3) w jaki sposób podliczać kolumny?
Mam nadzieję że nie wymagam zbyt dużo i z góry dziękuję za pomoc :)

Co do splashscreena to kod mozesz wydobyc z mojego żródełka :) daje linka,zassaj i sprawdz :)

http://ul58.rapidsha...095491/proj.rar

aby podliczyc kolumny robisz petle i zmienna integer i dodajesz +1

procedure TForm2.Button2Click(Sender: TObject); begin close; end; procedure TForm2.Edit1Change(Sender: TObject); var i:string; begin for i:=0 to Form1.StringGrid1.ColCount -1 do <----------------- tu mi oznacza błąd Form1.StringGrid1.Cells[2, i] := StrToInt(i); end; procedure TForm2.Edit2Change(Sender: TObject); var i:string; begin for i:= 0 to StringGrid1.ColCount - 1 do StringGrid1.Cells[3, i] := StrToInt(i); end; end.
Jaki e są tu błędy? Przy prubie kompilacji w ognie błedów wyskakują mi takie komunikaty:

Build
[Error]Unit2.pas(45): For loop control variable must have ordinal type
[Error] Unit2.pas(46): Incompatible types: 'Integer' and 'String'
[Error] Unit2.pas(46): Incompatible types: 'String' and 'Integer'
[Error] Unit2.pas(53): For loop control variable must have ordinal type
[Error] Unit2.pas(53): 'DO' expected but identifier 'ColCount' found
[Fatal Error] Unit1.pas(58): Could not compile used unit 'Unit2.pas'

Ten kod ma za zadanie umieszczać dane z 2 pól Edit na form2 w 3-kolumnowej tabeli StringGird znajdującej się na form1.
Edit1- kolumna pierwsza edit2-kolumna druga
Użytkownik seba3002 edytował ten post 05 styczeń 2007, 16:34
Dlaczego i jest typu string? :>

PS. nie "pruba", lecz "próba" :)

to co mam dać zamiast string?

Integer!
Weź człowieku przeczytaj jakiś kurs!

dając integer wychodzi mi błąd przy
Form1.StringGrid1.Cells[2, i] := StrToInt(i);

Build
[Error]Unit2.pas(45): Incompatible types: 'String' and 'Integer'
[Error] Unit2.pas(47): '.' expected but ';' found
[Fatal Error] Unit1.pas(58): Could not compile used unit 'Unit2.pas'



[Error]Unit2.pas(45): Incompatible types: 'String' and 'Integer'
Wiesz co oznacza ten Error ? Że typy są nie kompatybilne. W Cell przechowujesz String'i, a nie Integer'y więc po co ta konwersja ze String'a na Integer ? W ogóle zły parametr nawet podałeś! Powinieneś dać IntToStr(i)!

Kurs! Kurs! Kurs!
Użytkownik -=PcSA=- edytował ten post 05 styczeń 2007, 21:32
dzieki za pomoc :) ale trudno znaleść kurs gdzie znaleść odpowiednie info.
A wiesz moze jak zniwelowac taki problem, iż gdy wpisuję do tabeli np. 4536 (albo każda inna liczbe) to w tabeli w rzędzie wyświetlaja mi się zawsze 2 liczby w rzędzie, kolejno 1 i 2. Co zrobić żeby wyświetlała mi się liczba z edit1 w pierwszej komórce rzędu?

Jak mam zrobić aby te wpisy nie pokazywały się od razu tylko dopiero po wciśnięciu przycisku OK? Oraz co zrobić aby móc dodawać kolejne wpisy do tabeli w kolejnych rzędach?

Tutaj masz mega kurs - właściwie to cała książka : http://4programmers....lphi/Kompendium

Co do reszty: wyrzuć te kody z onchange Editów i powrzucaj te kody do Button'ów! :)

OK. Dzieki ;)
Ale co muszę zrobić, aby w Stringgirdzie wyświetlał mi się to co wpisuje w edicie? Bo co bym tam nie wpisał zawsze wychodzą liczby 1 i 2...
W jaki sposób mam dodawać kolejne wiersze w stringgridzie?
Pożyczyłem od wójka 2 książki o delphi (łącznie 1020 stron :P) ale nie mogą znaleźć tych informacji :(

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •