 |
Coders' city Nasza pasja to programowanie!
|
| Zobacz poprzedni temat :: Zobacz następny temat |
| Autor |
Wiadomość |
radzym94
Dołączył: 06 Lis 2011 Posty: 7
|
Wysłany: Pon Lis 07, 2011 10:01 pm Temat postu: [Pascal] Baza danych-Powrót do menu graficznego |
|
|
Witam , mam problem z programem.Program to baza danych komisu samochodowego , i mam taką procedurę dopisywania danych
| Kod: |   procedure u; { procedura dopisywania danych}
  var i,a:byte;
  begin
  start:
  clrscr;
  assign(p,'komis.dat');
  reset(p);
  write('Podaj liczbe samochodow do dopisania : '); readln(a);
  if a>0 then
  begin
  clrscr;
  Seek(p, FileSize(p)); {otwiera plik i ustawia si© na ostatniel linijce}
  {gdzie zaczyna si© dopisywanie}
  writeln;
  write('Marka: ');
  readln(o[i].marka);
  write('Model: ');
  readln(o[i].model);
  write('Rocznik: ');
  readln(o[i].rocznik);
  write('Rodzaj silnika: ');
  readln(o[i].silnik);
  write('Pojemnosc: ');
  readln(o[i].pojemnosc);
  write('Cena: ');
  readln(o[i].cena);
  clrscr;
  end;
  close(p);
  readkey;readkey;
  end;
  begin
  closegraph;
  u;
  sterownik:=vga;tryb:=vgahi;
  initgraph(sterownik,tryb,'c:\tp\bgi');
  end;
|
Problem polega na tym ,że kiedy dopiszę już dane to program automatycznie się wyłącza , a mi chodzi o to aby wrócił do menu (Menu mam w trybie graficznym,a poszczególne opcje w trybie tekstowym, co widać z resztą w kodzie ) Liczę na pomoc w moim problemie gdyż nie wiem co może być problemem, dodam jeszcze ,że mam już procedurę wprowadzania danych i jest ona podobna do tej , a chodzi prawidłowo. Z góry dziękuję za fatygę i pomoc. Pozdrawiam ;] |
|
| Powrót do góry |
|
 |
|
|
lethern

Dołączył: 09 Paź 2007 Posty: 729 Skąd: Bstok/Lublin
|
Wysłany: Pon Lis 07, 2011 10:14 pm Temat postu: |
|
|
1 formatuj kod, wstaw wcięcia dla blokow, bo nie idzie poznać co ten program robi 2 zbadaj jak napisales program, jest tam napisane co on MA zrobić i dokladnie to robi. Gdy skonczy mu sie ostatni rozkaz to się zamyka.. 3 jesli nie podoba Ci sie to, co robi program, to napisz jak powinien sie zachowac (opisowo), potem zapytaj o pomoc jesli nie bedzie problem z przeniesieniem na Pascala. Pomocne mogą być: funkcje, pętle _________________ używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Code::Blocks lub Visual Studio C++ darmowe
Ostatnio zmieniony przez lethern dnia Pon Lis 07, 2011 10:19 pm, w całości zmieniany 1 raz |
|
| Powrót do góry |
|
 |
radzym94
Dołączył: 06 Lis 2011 Posty: 7
|
Wysłany: Pon Lis 07, 2011 10:19 pm Temat postu: |
|
|
Powiem jeszcze ,że mam fragment taki
| Kod: |  
 1:begin cleardevice;abc; goto start;end;
 2:begin cleardevice;abc1; goto start;end;
|
Jest to późniejszy fragment w menu, razem z wczytaniem procedur, wg mnie to powinno działać ,czyli jak program wykona procedurę abc1 to powinno się przenieść do start , czyli do początku menu , tak też robi w przypadku pierwszej procedury abc,tylko w tej drugiej coś jest nie tak. |
|
| Powrót do góry |
|
 |
lethern

Dołączył: 09 Paź 2007 Posty: 729 Skąd: Bstok/Lublin
|
Wysłany: Pon Lis 07, 2011 10:20 pm Temat postu: |
|
|
| Kod: |  begin beginconnection;alamakota; goto c;end;
|
Rozszyfruj co mój program robi, to powiem Ci co robi Twoj _________________ używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Code::Blocks lub Visual Studio C++ darmowe |
|
| Powrót do góry |
|
 |
radzym94
Dołączył: 06 Lis 2011 Posty: 7
|
Wysłany: Pon Lis 07, 2011 10:24 pm Temat postu: |
|
|
| Nie będę ukrywał ,że wiem , bo nie wiem. Gubi mnie to beginconnection, gdyż nie miałem tego na lekcjach jeszcze , a jestem dosyć początkujący.Jeśli się nie mylę to ten program wczytuję procedurę (alamakota;) i po jej wykonaniu przenosi do miejsca (c;) |
|
| Powrót do góry |
|
 |
lethern

Dołączył: 09 Paź 2007 Posty: 729 Skąd: Bstok/Lublin
|
Wysłany: Pon Lis 07, 2011 10:31 pm Temat postu: |
|
|
Ok, to teraz rozszyfruj ten program:
| Kod: |   
  uses crt;
  
  var key:char;
  
  procedure menuKlawisz( klawisz :char);
  begin
  end;
  
  procedure wyswietlMenu;
  begin
  end;
 
  begin
  {inicjacja...}
  
  repeat begin
  wyswietlMenu;
  key:= readKey;
  if key <> '27' then
  menuKlawisz(key);
 
  end until key='27' {klawisz ESC}
  
  {konczenie...}
  end.
  
|
Czytelny? _________________ używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Code::Blocks lub Visual Studio C++ darmowe |
|
| Powrót do góry |
|
 |
radzym94
Dołączył: 06 Lis 2011 Posty: 7
|
Wysłany: Pon Lis 07, 2011 10:35 pm Temat postu: |
|
|
| Myślę ,że ma to coś wspólnego z menu.Z tego co mi się wydaje program ten będzie wyświetlał menu tak długo aż nie zostanie wciśnięty klawisz esc.Ale nie wiem czy to dobra interpretacja :) |
|
| Powrót do góry |
|
 |
lethern

Dołączył: 09 Paź 2007 Posty: 729 Skąd: Bstok/Lublin
|
Wysłany: Pon Lis 07, 2011 10:39 pm Temat postu: |
|
|
| Cytat: | | Problem polega na tym ,że kiedy dopiszę już dane to program automatycznie się wyłącza |
To powyżej masz przykład, może zainspiruje Cie on do rozwiązania prblemu... albo i posłuży (po zmianach) za szkielet do aplikacji _________________ używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Code::Blocks lub Visual Studio C++ darmowe |
|
| Powrót do góry |
|
 |
radzym94
Dołączył: 06 Lis 2011 Posty: 7
|
Wysłany: Pon Lis 07, 2011 10:41 pm Temat postu: |
|
|
| A Czy Ty wiesz jak rozwiązać ten problem w szybki sposób ? Bo wydaje mi się ,że po prostu zrobiłem tutaj jakiś głupi błąd czy coś , a naprawdę dużo już nad tym przesiedziałem , i nie wymyślę już nic nowego , wg mnie to powinno chodzić |
|
| Powrót do góry |
|
 |
lethern

Dołączył: 09 Paź 2007 Posty: 729 Skąd: Bstok/Lublin
|
Wysłany: Pon Lis 07, 2011 10:51 pm Temat postu: |
|
|
Niestety, ale Twoj kod (jego fragmenty) mówi mi tyle o programie co manuskrypt z Egiptu - obu nie rozumiem ni w ząb _________________ używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Code::Blocks lub Visual Studio C++ darmowe |
|
| Powrót do góry |
|
 |
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Możesz dodawać załączniki na tym forum Możesz pobierać pliki z tego forum
|
 Debug: strone wygenerowano w 0.07899 sekund, zapytan = 9
|