Skocz do zawartości

lasjak

Użytkownik
  • Postów

    5
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez lasjak

  1. Hmmm... Masz racje nie pomyslalem o tym. Pare nowych warunkow i wszystko dziala :). Dzieki za pomoc :)
  2. Mam problem ze wstawieniem pozycji na liscie jednokierunkowej. Kod do wstawiania mam w 2 unitach. Program sypie mi sie przy wykonywaniu 2 linii kodu zaznaczonych na czerwono w unicie6. Pojecia nie mam co jest nie tak... Z gory dziekuje za pomoc :). W unicie1 znajdują sie takie deklaracje typu, zmiennych i procedurka: type wskaznik=^koncerty; koncerty=record date:string[10]; band:string[15]; place:string[8]; tprice:single; nost:integer; cost:single; next:wskaznik; end;var Form1: TForm1; plik:textfile; x,first,last,prev:wskaznik; modified:boolean;procedure TForm1.Button7Click(Sender: TObject);var n:byte; NumOfRec:byte;begin x:=last; NumOfRec:=0; while x<>nil do begin NumOfRec:=NumOfRec+1; x:=x^.next; end; if last=nil then NumOfRec:=1; if (strtointdef(Edit2.Text, -1)>0) and (strtointdef(Edit2.Text, -1)<=NumOfRec) then begin n:=strtoint(Edit2.Text); x:=last; new(prev); prev:=nil; while (n>1) and (x^.next<>nil) do begin n:=n-1; prev:=x; x:=x^.next; end; new(x); Form6.ShowModal; end else ShowMessage('Blednie podany nr elementu do dodania!'); modified:=True;end; w Unicie6 nie ma juz zadnej deklaracji typu ani wskaznika, ktory jest wykorzystywany z unitu1, pomimo tego wszystko powinno dzialac... [color=#FF0000]x^.next:=prev^.next; prev^.next:=x;[/color] Form1.Memo1.Text:=''; x:=last; while x<>nil do begin s:=x^.date+';'+x^.band+';'+x^.place+';'+floattostr(x^.tprice)+';'+inttostr(x^.nost)+';'+floattostr(x^.cost)+';'; Form1.Memo1.Lines.Add(s); x:=x^.next; end; Close;
  3. Program sie sypie jak dochodzi do wywolania z biblioteki dll funkcji majacej zwrocic wartosc tablicy. Pojecia nie mam co moze byc w tym kodzie nie tak... Kod programu: type koncert=record //date: TDateTime; band: string[15]; place: string[8]; tprice: single; nost: integer; cost: single; prof: single; end;type TBober=array [1..50] of koncert;var Form1: TForm1; a: TBober; i: byte; plik: file of koncert;implementation{$R *.dfm}procedure TForm1.Button2Click(Sender: TObject);var bib: HModule;var prof: function (a:TBober):TBober;stdcall; sort: function (a:TBober):TBober;stdcall; x:string;begin bib:=loadlibrary('konc_bibdll'); if bib<>0 then begin prof:=getprocaddress(bib,'prof'); sort:=getprocaddress(bib,'sort'); prof(a); sort(a); Kod biblioteki type koncert=record band: string[15]; place: string[8]; tprice: single; nost: integer; cost:single; prof:single; end;type TBober=array [1..50] of koncert;function prof(a: TBober):TBober;stdcall;var i,j:byte;beginj:=1;i:=3;while j<=i do begin a[j].prof:=a[j].tprice*a[j].nost-a[j].cost; j:=j+1; end;end;
  4. Thx za pomoc :)
  5. Mam takie proste pytanko... Czy mozna zamienic liczbe w sys dziesietnym na binarny zapisujac ja (w systemie binarnym) w jednej zmiennej? W tej chwili zamieniam ja tak, ze reszte dzielenia przez 2 zapisuje do tablicy i pozniej ta tablice wyswietlam...
×
×
  • Dodaj nową pozycję...