/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Disketter til Jørn Sloth's bøger
Fra : Ukendt


Dato : 01-01-06 16:56

Hej.

Er der nogle, der ligger inde med disketterne til Jørn Sloths
programmeringsbøger til Delphi.

Jeg har anskaffet mig brugte bøger uden disketter. Bogen henviser ofte til
disketterne, hvis man er doven og vil undgå en masse indtastningsarbejde.
Det kunne selvfølgelig være rart. Ikke mindst fordi jeg trods bogens
eksempler alligevel klokker i det og der meldes om fejl i mine
indtastninger.-

Jeg har forsøgt at finde forlaget på nettet uden held. Jeg ville have set,
om man kunne downloade disketten fra deres side - som man ofte kan. Men
måske eksisterer det ikke mere?

Derfor: Er der nogle herinde, der har de pågældende disketter - og evt. vil
sende på mail? (Jeg går med dette ikke ud fra, at der er tale om brud på
loven om ophavsret - dels da jeg har anskaffet mig bogen (godt nok købt
brugt uden diskette) og dels hvis bogen er udsolgt fra forlaget eller
forlaget er lukket ned.)

Min mail:

ms1 (a) skindbeni dot DANMARK



 
 
Uffe Kousgaard (01-01-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 01-01-06 17:19

"Michael Sørensen" <ms1 (a) skindbeni . DANMARK> wrote in message
news:43b7fb74$0$11696$ba624c82@nntp02.dk.telia.net...
> Hej.
>
> Er der nogle, der ligger inde med disketterne til Jørn Sloths
> programmeringsbøger til Delphi.

Mit lokale bibliotek gør, så prøv evt. den vej.

hilsen
Uffe



Ukendt (03-01-2006)
Kommentar
Fra : Ukendt


Dato : 03-01-06 12:29

"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:43b800f0$0$84017$edfadb0f@dtext01.news.tele.dk...
> "Michael Sørensen" <ms1 (a) skindbeni . DANMARK> wrote in message
> news:43b7fb74$0$11696$ba624c82@nntp02.dk.telia.net...
>> Hej.
>>
>> Er der nogle, der ligger inde med disketterne til Jørn Sloths
>> programmeringsbøger til Delphi.
>
> Mit lokale bibliotek gør, så prøv evt. den vej.

Mit bibliotek (Horsens) har bogen "Delphi - videregående programmering"
hjemme, men ingen diskette dertil. Desværre



Kurt Bilde (02-01-2006)
Kommentar
Fra : Kurt Bilde


Dato : 02-01-06 13:40

Michael Sørensen wrote:
> Hej.
>
> Er der nogle, der ligger inde med disketterne til Jørn Sloths
> programmeringsbøger til Delphi.

Du kunne også kontakte Jørn selv via:

http://www.rainbow-software.dk

eller nærmere bestemt:
http://www.rainbow-software.dk/index.php?Information:Kontakt_os

-Kurt

Ukendt (03-01-2006)
Kommentar
Fra : Ukendt


Dato : 03-01-06 16:46

"Kurt Bilde" <kub@[adm].sdu.dk> skrev i en meddelelse
news:43b91f21$0$166$edfadb0f@dread11.news.tele.dk...
> Michael Sørensen wrote:
>> Hej.
>>
>> Er der nogle, der ligger inde med disketterne til Jørn Sloths
>> programmeringsbøger til Delphi.
>
> Du kunne også kontakte Jørn selv via:
>
> http://www.rainbow-software.dk
>
> eller nærmere bestemt:
> http://www.rainbow-software.dk/index.php?Information:Kontakt_os

Jørn var så flink at sende dem til mig over mail.

Men fandt ud af, at det ikke var mig, der havde indtastet forkert, men et
eller andet har ændret sig siden Delphi 2 til i dag, for fejlen kommer
stadigvæk.

De fejl jeg får er:
[Warning] UNIT1.PAS(46): W1002 Symbol 'FileGetAttr' is specific to a
platform
[Error] UNIT1.PAS(76): E2010 Incompatible types: 'Cardinal' and 'TSearchRec'
[Warning] UNIT1.PAS(105): W1002 Symbol 'FileSetAttr' is specific to a
platform
[Hint] UNIT1.PAS(17): H2219 Private symbol 'Drev' declared but never used
[Fatal Error] PROJECT1.DPR(5): F2063 Could not compile used unit 'UNIT1.PAS'

Men hvorfor kan jeg ikke se - hvad med jer? Hvad har forandret sig siden
bogens tid?

Herunder har jeg lige postet den kode, som står i bogen / er på disketten

---
unit Unit1;

interface

uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, StdCtrls, Grids, ExtCtrls;

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }

FilNavn, Drev, Bibl, Sti: string;
procedure ReDrawGrid;

public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

Procedure TForm1.ReDrawGrid;
var
Att, i: integer;
SearchRec: TSearchRec;
begin
i := 1;
If FindFirst(Sti + '\*.*',faAnyfile, SearchRec) = 0 then;
repeat
StringGrid1.RowCount := i + 1;
StringGrid1.Cells[0,i] := SearchRec.Name;
StringGrid1.Cells[1,i] := IntToStr(SearchRec.Size);
If SearchRec.Size = 0 then
begin
StringGrid1.Cells[1,i] := '( DIR )';
end;
Att := FileGetAttr(Sti + '\' + SearchRec.Name);
with StringGrid1 do
begin
Cells[2,i] := '';
Cells[3,i] := '';
Cells[4,i] := '';
Cells[5,i] := '';
Cells[6,i] := '';
Cells[8,i] := '';
Cells[7,i] := '';
Cells[9,i] := '';
Cells[10,i] := '';
Cells[11,i] := '';
Cells[12,i] := '';
end;
case Att of
0: StringGrid1.Cells[2,i] := 'X';
1: StringGrid1.Cells[4,i] := 'X';
2: StringGrid1.Cells[5,i] := 'X';
3: StringGrid1.Cells[6,i] := 'X';
4: StringGrid1.Cells[8,i] := 'X';
5: StringGrid1.Cells[7,i] := 'X';
6: StringGrid1.Cells[9,i] := 'X';
7: StringGrid1.Cells[10,i] := 'X';
32: StringGrid1.Cells[3,i] := 'X';
39: StringGrid1.Cells[11,i] := 'X';
end;
FilNavn := 'C:\' + StringGrid1.Cells[0, i];
i := i + 1;
until (FindNext(SearchRec) <> 0);
FindClose(SearchRec);
end;

procedure TForm1.StringGrid1DblClick(Sender: TObject);
var
s: integer;
begin
if StringGrid1.Cells[1, StringGrid1.Row] = '( DIR )'then
begin
FilNavn := StringGrid1.Cells[0, StringGrid1.Row];
Bibl := StringGrid1.Cells[0, StringGrid1.Row];
Sti := Sti + '\' + Bibl;
ReDrawGrid;
end
else
begin
case StringGrid1.Col of
2: s := 0;
3: s := 32;
4: s := 1;
5: s := 2;
6: s := 3;
7: s := 5;
8: s := 4;
9: s := 6;
10: s := 7;
11: s := 39;
end;
FilNavn := StringGrid1.Cells[0, StringGrid1.Row];
FileSetAttr(Sti + '\' + FilNavn, s);
if StringGrid1.Col = 0 then exit;
ReDrawGrid;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
ColWidths[0] := 95;
ColWidths[1] := 60;
ColWidths[2] := 20;
ColWidths[3] := 20;
ColWidths[4] := 20;
ColWidths[5] := 20;
ColWidths[6] := 20;
ColWidths[7] := 25;
ColWidths[8] := 25;
ColWidths[9] := 25;
ColWidths[10] := 30;
ColWidths[11] := 35;
Cells[0,0] := 'FILNAVN';
Cells[1,0] := 'Størrelse';
Cells[2,0] := '0';
Cells[3,0] := 'A';
Cells[4,0] := 'R';
Cells[5,0] := 'H';
Cells[6,0] := 'S';
Cells[7,0] := 'RH';
Cells[8,0] := 'SR';
Cells[9,0] := 'SH';
Cells[10,0] := 'SRH';
Cells[11,0] := 'ASRH';
end;
ReDrawGrid;
end;

end.



Finn Bindeballe (03-01-2006)
Kommentar
Fra : Finn Bindeballe


Dato : 03-01-06 17:17

hej


> De fejl jeg får er:
> [Warning] UNIT1.PAS(46): W1002 Symbol 'FileGetAttr' is specific to a
> platform

Dette er en 'advarsel' om at du bruger en function, som er afhængig af
at du køre windows. Da det ogsaa er muligt at (hvis du bruger de
'rigtige' dimser) at kompilere med Kylix,, som er paa linux-platformen.
Da du nok formegntligt ikke staar lige foran et skifte, kan du bare
ignorere dette.....

> [Error] UNIT1.PAS(76): E2010 Incompatible types: 'Cardinal' and 'TSearchRec'

....siger sig selv - du prøver at tilskrive en cardinal en TSear... det
maa være nemt at finde....

Hvis du dobb-klikker paa linjen, kommer du hen til stedet i koden, hvor
det gaar galt..... du kan ogsaa se, at det er i linje 76...


> [Warning] UNIT1.PAS(105): W1002 Symbol 'FileSetAttr' is specific to a
> platform

Se oven for

> [Hint] UNIT1.PAS(17): H2219 Private symbol 'Drev' declared but never used

Du har oprettet en variabel, Drev, som ikke bruges til noget... den
hverken tilskrives, eller læses.... saa den kan du bare slette... hvis
altsaa ikke at det er en fejl i din kode, at det ikke sker.....

> [Fatal Error] PROJECT1.DPR(5): F2063 Could not compile used unit 'UNIT1.PAS'
>

kommer altid, hvis prog ikke kan compileres......

> Men hvorfor kan jeg ikke se - hvad med jer? Hvad har forandret sig siden
> bogens tid?
>

huha.........det blir noget af en mundfuld.... men grund-principprene er
næsten ens....

/finn


Ukendt (03-01-2006)
Kommentar
Fra : Ukendt


Dato : 03-01-06 17:21

"Finn Bindeballe" <ohno@galnet.dk> skrev i en meddelelse
news:43baa2b5$0$15791$14726298@news.sunsite.dk...
> hej
>
>
>> De fejl jeg får er:
>> [Warning] UNIT1.PAS(46): W1002 Symbol 'FileGetAttr' is specific to a
>> platform
>
> Dette er en 'advarsel' om at du bruger en function, som er afhængig af at
> du køre windows. Da det ogsaa er muligt at (hvis du bruger de 'rigtige'
> dimser) at kompilere med Kylix,, som er paa linux-platformen.
> Da du nok formegntligt ikke staar lige foran et skifte, kan du bare
> ignorere dette.....
>
>> [Error] UNIT1.PAS(76): E2010 Incompatible types: 'Cardinal' and
>> 'TSearchRec'
>
> ...siger sig selv - du prøver at tilskrive en cardinal en TSear... det maa
> være nemt at finde....
>
> Hvis du dobb-klikker paa linjen, kommer du hen til stedet i koden, hvor
> det gaar galt..... du kan ogsaa se, at det er i linje 76...
>
>
>> [Warning] UNIT1.PAS(105): W1002 Symbol 'FileSetAttr' is specific to a
>> platform
>
> Se oven for
>
>> [Hint] UNIT1.PAS(17): H2219 Private symbol 'Drev' declared but never used
>
> Du har oprettet en variabel, Drev, som ikke bruges til noget... den
> hverken tilskrives, eller læses.... saa den kan du bare slette... hvis
> altsaa ikke at det er en fejl i din kode, at det ikke sker.....
>
>> [Fatal Error] PROJECT1.DPR(5): F2063 Could not compile used unit
>> 'UNIT1.PAS'
>>
>
> kommer altid, hvis prog ikke kan compileres......
>
>> Men hvorfor kan jeg ikke se - hvad med jer? Hvad har forandret sig siden
>> bogens tid?
>>
>
> huha.........det blir noget af en mundfuld.... men grund-principprene er
> næsten ens....

Ja forståeligt nok (noget af en mundful)

Men det var mere, at der må være sket NOGET, siden den ikke vil kompilere i
2005 (koden er skrevet til Delphi version 2 - og virkede dertil).



Uffe Kousgaard (03-01-2006)
Kommentar
Fra : Uffe Kousgaard


Dato : 03-01-06 19:54

"Michael Sørensen" <ms1 (a) skindbeni . DANMARK> wrote in message
news:43baa46a$0$11171$ba624c82@nntp02.dk.telia.net...

> Men det var mere, at der må være sket NOGET, siden den ikke vil kompilere
> i 2005 (koden er skrevet til Delphi version 2 - og virkede dertil).

Ja, selvfølgelig er der sket noget = meget på ca. 7-8 år.

Linie 76 skulle være linien med findclose og der er der ikke nogen cardinal,
så noget andet må være galt. Findclose virker også stadig på samme måde i
dag som dengang (har netop brugt den tidligere i dag).

hilsen
Uffe




Ukendt (03-01-2006)
Kommentar
Fra : Ukendt


Dato : 03-01-06 20:53

"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:43bac837$0$84025$edfadb0f@dtext01.news.tele.dk...
> "Michael Sørensen" <ms1 (a) skindbeni . DANMARK> wrote in message
> news:43baa46a$0$11171$ba624c82@nntp02.dk.telia.net...
>
>> Men det var mere, at der må være sket NOGET, siden den ikke vil kompilere
>> i 2005 (koden er skrevet til Delphi version 2 - og virkede dertil).
>
> Ja, selvfølgelig er der sket noget = meget på ca. 7-8 år.
>
> Linie 76 skulle være linien med findclose og der er der ikke nogen
> cardinal, så noget andet må være galt. Findclose virker også stadig på
> samme måde i dag som dengang (har netop brugt den tidligere i dag).

Det er så et godt spørgsmål, for den fortæller kun linie76 og jeg har ikke
en ide om det som ny indenfor emnet.

Mystisk.



Brian Andersen \(www~ (04-01-2006)
Kommentar
Fra : Brian Andersen \(www~


Dato : 04-01-06 09:09

Hej Michael,

prøv at skrive følgende i din linie 76: SysUtils.FindClose(SearchRec);

Problemet skyldes, at der også findes et Windows API kald der hedder
FindClose. Dens scope kommer åbentbart først. Derfor må du lige kvalificere
dig den rette vej til kaldet.

Jeg håber det hjælper dig til at komme videre...

/Brian



Ukendt (04-01-2006)
Kommentar
Fra : Ukendt


Dato : 04-01-06 17:47

Hej Brian.

"Brian Andersen (www.europeansoftwarehouse.com)" <x@x.x> skrev i en
meddelelse news:CmLuf.3900$Cl2.98030@news000.worldonline.dk...
> Hej Michael,
>
> prøv at skrive følgende i din linie 76: SysUtils.FindClose(SearchRec);

Se, det var sådan, det skulle gøres.

> Problemet skyldes, at der også findes et Windows API kald der hedder
> FindClose. Dens scope kommer åbentbart først. Derfor må du lige
> kvalificere dig den rette vej til kaldet.

Egentlig lidt ugennemtænkt (i mine øjne) at der laves to ens kald på denne
måde.

> Jeg håber det hjælper dig til at komme videre...

Ja tak.

Det var godt nok ikke noget, som jeg arbejde på, men et eksempel i en gammel
Delphi lærebog, som jeg ikke kunne få til at fungere. Jeg er kun i den helt
spæde oplæringsfase, så det er rart at få tingene helt til at fungere, så
man kommer til at forstå tingene og sammenhængen.

De bedste hilsener
Michael



Arne Vajhøj (04-01-2006)
Kommentar
Fra : Arne Vajhøj


Dato : 04-01-06 18:07

Michael Sørensen wrote:
> "Brian Andersen (www.europeansoftwarehouse.com)" <x@x.x> skrev i en
> meddelelse news:CmLuf.3900$Cl2.98030@news000.worldonline.dk...
>>Problemet skyldes, at der også findes et Windows API kald der hedder
>>FindClose. Dens scope kommer åbentbart først. Derfor må du lige
>>kvalificere dig den rette vej til kaldet.
>
> Egentlig lidt ugennemtænkt (i mine øjne) at der laves to ens kald på denne
> måde.

Windows API navnene fastlægges vel af Microsoft, så
hvis Microsoft vælger et navn som Borland allerede
bruger til noget andet, så ...

Arne

Ukendt (04-01-2006)
Kommentar
Fra : Ukendt


Dato : 04-01-06 18:35

"Arne Vajhøj" <arne@vajhoej.dk> skrev i en meddelelse
news:43bc00a2$0$129$edfadb0f@dread16.news.tele.dk...
> Michael Sørensen wrote:
>> "Brian Andersen (www.europeansoftwarehouse.com)" <x@x.x> skrev i en
>> meddelelse news:CmLuf.3900$Cl2.98030@news000.worldonline.dk...
>>>Problemet skyldes, at der også findes et Windows API kald der hedder
>>>FindClose. Dens scope kommer åbentbart først. Derfor må du lige
>>>kvalificere dig den rette vej til kaldet.
>>
>> Egentlig lidt ugennemtænkt (i mine øjne) at der laves to ens kald på
>> denne måde.
>
> Windows API navnene fastlægges vel af Microsoft, så
> hvis Microsoft vælger et navn som Borland allerede
> bruger til noget andet, så ...

Ja. Men.

Ved godt, at Microsoft ikke kan vide alle de features og navne, som andre
virksomheder og programmer benytter og ved også godt, at Microsoft ikke kan
tage hensyn hertil.

Men jeg vil stadigvæk mene, at det et eller andet sted (det kan da godt
være, at det er et lille sted) og på et eller andet led ikke er 100%
gennemtænkt, at man kan komme ud for dette dobbelt-navn, som kan give
problemer.

Om det er Microsoft, Borland eller brugeren (mig) der skulle have ændret
noget, tja. Jeg vil gå så langt til, at jeg vil give dig ret i, at det må
glive brugeren (MIG)



Brian Andersen \(www~ (05-01-2006)
Kommentar
Fra : Brian Andersen \(www~


Dato : 05-01-06 08:31

En anden ting man også kan gøre er, at flytte Unit'en SysUtils til sidst i
Uses sætningen. Dette burde også gøre tricket.

/Brian



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste