19. oktober 2003 - 17:53Der er
9 kommentarer og 1 løsning
widestring teknik
Har fra delphi.about.com (databasetut. lekt. 10 fundet et adodatabaseeksempel, jeg har 'leget' lidt med - osse undersøgt noget om denne 'widestring' og bl.a. fundet ud at at den kun begrænses af hukommelsen og derfor lettere at bruge for uerfarne selvom der hvistnok er nogen 'fælder'.Imidlertid er det heller ikke let nok (hulk) idet jeg kunne ønske mig: at den ellers letforståelige metode til at sætte tekst ind i strengen ved 'bare' at sætte ' omkring teksten og 'plusse' det jo godt kan bruges til mindre tekststumper, men hvad hvis jeg vil sætte en hel tekstfil ind - kan man det ?.Hvilke tegn er det lige man skal sætte ?.Lægger onclickproceduren i første kommentar (desvære lidt rodet - undskyld :-=))
procedure TForm1.Button1Click(Sender: TObject); var shtml : widestring; htmlfile : TextFile; i : integer; AvailableFields: set of TFieldType; begin AvailableFields:=[ftWideString, ftDate, ftFloat]; //open query ADOQuery1.SQL.Text:=Edit2.Text; ADOQuery1.Open;
//table header shtml:= shtml + '<table border="0" width="100%">' + #13#10; shtml:= shtml + '<tr>' + #13#10; for i:=0 to AdoQuery1.FieldCount-1 do begin if ADOQuery1.Fields[i].DataType in AvailableFields then begin shtml:= shtml + '<td>'; shtml:= shtml + '<b>' + ADOQuery1.Fields[i].DisplayName + '</b>'; shtml:= shtml + '</td>' + #13#10; end; end;{for} shtml:= shtml + '</tr>' + #13#10;
//table body while not adoquery1.Eof do begin shtml:= shtml + '<tr>' + #13#10; for i:=0 to AdoQuery1.FieldCount-1 do begin if ADOQuery1.Fields[i].DataType in AvailableFields then begin shtml:= shtml + '<td>'; shtml:= shtml + ADOQuery1.Fields[i].AsString; shtml:= shtml + '</td>' + #13#10; end; end;{for} shtml:= shtml + '</tr>' + #13#10; ADOQuery1.Next; end;{while} shtml:= shtml + '</table>' + #13#10;
// --> browse to the file //WebBrowser1.Navigate(aboutproject1.htm); WebBrowser1.Navigate(ChangeFileExt( Application.ExeName,'.htm')); end;{Button1.OnClick}
Stoney: Med 'din' metode (hvis jeg forstår det ret) - kan jeg altså (forhåbentlig) oven i købet så osse redigere i memoen.Det lyder godt.Jeg prøver det lige.Jeg har foreløbig sat memoerne ind efter den metode jeg selv foreslog - og det virker, men det ville da være helt fint, hvis man kunne redigere i memoen og gemme ændringerne, men det kræver måske lidt flere knapper (savememo - i den stil).Jeg kigger lidt på det. Vældig 'sjov' måde at lave websider på: Man har en beg. (Memo1) og noget derimellem (linier lagt ind enkeltvis i database, der udkommer som memo2) og en slutning (memo3).Så kan man redigere i sin database og checke output i een arbejdsgang.
Kan du iøvrigt bekræfte min mistanke om 'fælder' ved widestring: noget med at hukommelsen ikke laver stringente aftryk - og jeg kan så tænke mig man kommer i problemer hvis man kører flere programmer på een gang ?.
Er iøvrigt knap så begejstrer for programmet mere: brugte den alfabetiske funktion i indexfield til at navigere mine linier i databasens tabel, men den er åbenbart gået tabt ?.Har importeret en Paradox-tabel i en Accesdatabase.Ved du om det er noget der kan reetableres ?.jeg skal maaske tilbage til den 'sure' Acces og kigge (øv øv).
Stoney: Jeg tror ikke dit svar er det jeg ledte efter (den udskifter jo hele variablen ?), men du er jo kommet med så mange geniale løsninger tidl. så du har til fulde fortjent disse points osse.
Ja, je må se at få syntaksen mere korrect inden der går for meget galt.Var ved at opgive p.g.a. ovennævnte indexproblemer, men de løste sig vhj af tilføjelsen ORDER BY i SQL sætningen.
Synes godt om
Ny brugerNybegynder
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.