Avatar billede gozar Nybegynder
25. januar 2000 - 14:14 Der er 23 kommentarer og
4 løsninger

Hjælp

Findes der nogne online bøger om Delphi 4? Hvor??

Nogne bøger i kan anbefale?

Hvor kan jeg finde source codes?

/Gozar
Avatar billede mora Nybegynder
25. januar 2000 - 14:27 #1
"Delphi en elementær indføring"
Avatar billede gozar Nybegynder
25. januar 2000 - 14:31 #2
mora>> Har du et isbn nummer??
Avatar billede mora Nybegynder
25. januar 2000 - 14:51 #3
Nope, desværre ikke - men de har den nok på biblioteket, den omfatter den mest brugte programmering, derefter er du mere rystet til selv at løre noget, du kan evt. også kikke i de seneste blade fra K-Computer for alle.
Avatar billede blackthorne Nybegynder
25. januar 2000 - 15:10 #4
på denne link er der online books til delphi 5 (Kan standigvæk bruges til delphi 4)

http://www.borland.com/techpubs/delphi/

Bøger afhænger af hvad du vil lære om
Avatar billede sjensen Nybegynder
25. januar 2000 - 15:56 #5
prøv http://www.pbs.mcp.com og se efter e-books

Det er et online bibliotek hvor du kan låne bøger. Bl.a "Delphi 5 in 21 days" hvis det siger dig noget.

sjensen
Avatar billede ortrak Nybegynder
25. januar 2000 - 16:55 #6
Den klart bedste online resource til Delphi, er Delphi Super Page: http://ftp.sunet.se/delphi/

Mht. bøger om Delphi 4, har jeg personligt ikke været i stand til at finde nogen der var noget vær. Men prøv amazon.com og læs anmeldelserne.

/ortrak
Avatar billede ortrak Nybegynder
25. januar 2000 - 16:57 #7
Og først nu ser man ordene "online bøger". Glem det - det kan ikke betale sig.
Avatar billede gozar Nybegynder
25. januar 2000 - 22:20 #8
blackthorne>>Jeg er helt "grøn" Dvs. vil gerne lære de mere generalle ting. Eks linke (eller hvad det nu end hedder i en progamørs verden) t forms sammen, så når man trykker på en knap kommer der en nyt windue frem!
Avatar billede gozar Nybegynder
25. januar 2000 - 22:23 #9
Jeg har før programmeret lidt i Turbo Pascal og det skulde ikke ligge så langt væk fra Delphi. For Turbo Pascal (og ASp gor den sags skyld) lærte jeg mest ved at kigge på koder, men det har ikke rigtigt lykkedes for mig ved Delphi!!
Avatar billede blackthorne Nybegynder
26. januar 2000 - 09:26 #10
Linke 2 forms

PROCEDURE TForm1.Button1Click (Sender : TObject);
BEGIN
  ShowForm;
END

PROCEDURE ShowForm;
BEGIN
  TRY 
    Form1 := TForm1.Create(Application); // Opretter den nye form
    Form1.ShowModal;                    // Viser den nye form modalt
  FINALLY
    Form1.Release                        // Looper alle messages igennem, før
  END;                                  // før formen hukommelse frigives
END;

Husk at delphi ikke skal autocreate dine forms( dvs fjern createform i project filen)

ellers oprettes der 2 forms og det vil give dig problemer
Avatar billede delphi Nybegynder
26. januar 2000 - 09:50 #11
Det vil ikke give problemer, hvis variablen Form1 er oprettet som en lokal variabel i proceduren ShowForm.  Delphi opretter godt nok en automatisk Form1 variabel i Form1's unit, så det er måske smartere at anvende et andet navn, alá:

Procedure ShowForm;
Var
  MyForm : TForm1;  // Husk at have TForm1's unit i uses sætningen.
Begin
  Try
    MyForm := TForm1.Crea....
    ...
  End;
End;

På denne måde undgår man de nævnte konflikter.

NiP
Avatar billede blackthorne Nybegynder
26. januar 2000 - 09:56 #12
hvis man først har bestemt at benytte dynamisk oprettelse af forms, så skal der aldrig autocreates de forms der også bliver oprette dynamisk. Ellers allokere du dobbelt så meget hukommelse. Desuden vil der gå ged i forskellige komponenter. f.eks. DB controller som kan risikere at pege til dataset i den autocreated form, og ikke den dynamisk created form. (Denne type problemer er meget svære at gennemskue)

Der er ikke noget problem i at benytte den allerede erklæret form variable, den behøver ikke at være lokal
Avatar billede gozar Nybegynder
26. januar 2000 - 23:11 #13
Hmm, Da jeg prøvede (har ikke noget med de 2 overstående scripts at gøre) hunde jeg ikke få det til at virke. Kan det have nøget med at gøre, at jeg kun skrev i kode, og ikke oprettede de 2 forms via menuer i delphi!!
Avatar billede kim_bille Nybegynder
27. januar 2000 - 00:48 #14
Inger Mønsted's "Delphi - en elementær indføring" og "Delphi - grundlæggende programmering" er gode at starte med men så heller ikke mere.

Der findes mange bøger på bibliotekerne om delphi

Mvh
Kim (tidliger elev hos Inger Mønsted)
Avatar billede blackthorne Nybegynder
27. januar 2000 - 09:13 #15
Husk at kalde Showform fra en knap/menu whatever.

f.eks. på en knaps onclick event
PROCEDURE TForm1.Button1Click (Sender : TObject);
BEGIN
  ShowForm;
END
Avatar billede gozar Nybegynder
28. januar 2000 - 00:49 #16
Hmm.. Måske er der noget jeg ikke har forstået, men når jeg prøver det af, kan jeg ikke rigtig få det til at virke!!

--Script start--



interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Showform; //[Error] Unit1.pas(28): Undeclared identifier: 'Showform'
end
procedure Showform; //[Error] Unit1.pas(30): ';' expected but 'PROCEDURE' found
begin
  try
    form1 := Tform1.Create(Application);
    Tform1.ShowModla; //[Error] Unit1.pas(34): Undeclared identifier: 'ShowModla'
  finally
    Tform1.Release; //[Error] Unit1.pas(36): This form of method call only allowed for class methods
end;
end. //[Error] Unit1.pas(38): ';' expected but '.' found
//[Error] Unit1.pas(40): Declaration expected but end of file found
//[Fatal Error] Project1.dpr(6): Could not compile used unit 'Unit1.pas'

--Script End--

Har det noget med lokal variabler & lokal form's at gøre!! Fattede ikke så meget af hvad i sage!!

Avatar billede mora Nybegynder
28. januar 2000 - 07:46 #17
Kan du ikke bare bruge.
formnavn.show; eller formnavn.showmodal;
til at vise formen?
Avatar billede blackthorne Nybegynder
28. januar 2000 - 11:11 #18
procedure Showform;
begin
  try
    form1 := Tform1.Create(Application);
    form1.ShowModal; //Rettet
  finally
    form1.Release; //Rettet
  end // tilføjet
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Showform;
end; // Rettet

Procedure showform skal stå før procedure TForm1.Button1Click
Derfor fik du denne fejl //[Error] Unit1.pas(28): Undeclared identifier: 'Showform'

Tform1.ShowModla skal være form1.ShowModal;
Tform1.Release; skal være form1.Release

Avatar billede delphi Nybegynder
28. januar 2000 - 11:39 #19
Er i ikke lidt langt ude nu?

Hvordan/hvorfor skal et tryk på en button, der er placeret på Form1 (hvilket jo logisk må indebære at Form1 ER synlig), få Form1 til at blive created og vist - ja, jeg spør' bare.... :)

Gozar>  Alle alm. programmer vil ha' en standard form, der vises når programmet startes.  Normalt kaldes denne form for Form1. 
Når du i Delphi laver en ny/endnu en form, som så default får navnet Form2, så vil denne nye form ikke blive vist, hvis du ikke gør noget specielt for netop at få den vist (med et kald til Show eller ShowModal).
I din project fil vil du se, at alle dit programs forms (default) bliver oprettet (created) for dig, men det er altså kun den allerførste i listen der vil være synlig.
For at vise en af de andre forms, fx. Form2, skal du tilføje noget kode.  Her bliver Form2 vist, hvis der trykkes på en button:

Procedure TForm1.Button1Click(Sender: TObject);
Begin
  Form2.ShowModal;
End;

Har du fortalt Delphi, at den ikke skal autocreate Form2 (hvilket der iøvrigt sjældent er grund til), så skal du oprette og fjerne den før/efter brug.  Dette er som vist i tidligere eksempler.

NiP

Avatar billede delphi Nybegynder
28. januar 2000 - 11:42 #20
Med ovenstående mener jeg, at der sjældent er grund til, at fortælle Delphi, at den IKKE skal oprette forms for dig.  Den memory og tid det kræver at oprette forms nå applicationen startes er som regel uden den store betydning - I hvertfald hvis de pågældende forms ikke lave connections til databaser mv., hvilket KAN tage lidt lang tid.

NiP
Avatar billede mora Nybegynder
28. januar 2000 - 11:56 #21
Jeg har bedt delphi om ikke at oprette visse forms for mig, da jeg havde kommandoer liggende i oncreate :), de kunne self. ligge andre setder, bare et eks.
Avatar billede delphi Nybegynder
28. januar 2000 - 12:01 #22
Jeps, men placere man den slags kode i OnCreate så er man jo altså også selv lidt udenom det.  Alternativet er at ligge det i OnActivate (fx.), evt med en "tæller", således at det kun køres en gang - men det er jo logik for perlehøns.... :) 

(PS: Når det nu hedder en høne, to høns.  Hvorfor hedder det så ikke en hane, flere hans....)

God Weekend, nu er jeg smuttet...

NiP
Avatar billede blackthorne Nybegynder
28. januar 2000 - 12:30 #23
Nu var eksemplet kun demo af hvordan man gør det teknisk. Jeg er helt uenig med dig omkring at lade delphi autocreate formsene, fordi du overallokere en masse hukommelse for de forms der ikke er åbne. Det er griset at en program benytter 20 mb hukommelse hvis det kan nøjes med 2 mb.

Jeg udvikler professionale programer med op til 100 forms, så ville det ikke være uprofessionelt at autocreate 100 forms fra start. jeg har skulle vedligeholde programmer med ca. 50 forms der blev autocreated hvor det tog ca 2-3 minuter at starte exe filen indtil jeg lavede det om.
Avatar billede kim_bille Nybegynder
28. januar 2000 - 14:42 #24
blackthorne> Du har ret i at i store prg. er det ikke godt med autocreat, men gozar begynder næppe med et prg med >5 forms, derfor lad os ikke forvirre ham mere end nødvendigt.

gozar>
Start med en ny application. opret en ny form (form2).
Tilføj en button til form1.
Dobbeltklik på button1.
Skriv mellem begin og end; : "form2.show;".
Tilføj "unit2" til uses (øverst i scorce).

og luk så dette spg., som jo oprindeligt var om bøger/koder/...

Kim
Avatar billede mora Nybegynder
31. januar 2000 - 07:48 #25
ang. at tilføje til uses, kan man da bare køre programmet, så spørger delpåhi om den skal addes?
Avatar billede kim_bille Nybegynder
31. januar 2000 - 15:15 #26
mora> ja, ja, men er det nemmere? og formålet var også ikke at forvire gozar mere end højest nødvendigt. Endvidre arbejder jeg med D5 og var ikke sirker på om D4 virkede på samme måde. Min metode virker på alle delphi (delpåhi, hvis du foretrækker det) versioner.

Kim
Avatar billede mora Nybegynder
31. januar 2000 - 20:12 #27
OK, stavningen var ikke så fed, men jeg syndes det er nemmere, men det er fedt også at kende teknikken bag det, jeg bruger det da jeg ofte arbejder med mange forms der linker frem og tilbage, derved opnår jeg at skulle trykke ok, en gang pr. link, i stedet for at skrive dem i alle forms, det kunne selvføldgi være fedt at kunne fastsætte en uses for alle forms, men jeg klarer mig skam med at klikke ok :)

~MORA~
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester