Avatar billede prodoc Nybegynder
03. marts 2004 - 02:29 Der er 7 kommentarer og
1 løsning

Læser tekst fra program på anden computer over netværk

Hej allesammen,
Jeg har længe gerne ville have muligheden for at kunne skrive og læse tekst fra et program som ligger på en computer på netværket....
Programmet skal ikke bruges til noget specielt men har længe gerne ville have muligheden...

Kort fortalt...

Der er 2 computere som er forbundet via et netværk... en server og en klient...

Serveren skriver til en database...
"Databasen indeholder en række tabeller (tabelnavne = klientnavne) som igen har en række felter, som indeholder tekst som er skrevet af klienten...
"serverprogrammet indeholder en tekstbox som har al tekst der er i klientens tabel.... under tekstboxen er der en listbox med alle klienterne (tabellerne i databasen)
(det virker lidt som et chatprogram men det er ikke helt det jeg ønsker..)

Klientprogrammet: Indeholder en edit hvor klienten kan skrive til serveren (server databasen)
"en tekstboks som læser alt hvad der står i den gældende klients tabel i databasen...

Endnu kortere fortalt....

Serverprogram:
"Læs værdi fra pc over netværket, og skriv til lokal database
"Inddel klienter i tabeller i databasen, hvor felterne i tabellen er den tekst man har skrevet (hver felt = tekst skrevet pr gang)

Klientprogrammet:
"Skriver klientnavn i editboks (Klientnavn = tabelnavn)
"Skriver til serverprogram (derefter database) på computer over netværk
"Send knap som sender tekst fra ovenovernævnte tekstboks og slutter 1 felt i klientens tabel og starter på et nyt...

Håber det er forståeligt.....
Dette er virkeligt vigtigt for mig så jeg er villig til at give mange points for et fuld projekt der virker i Delphi 7..... også mere end 200 points hvis det er lovligt...!

MVH Thomas
Avatar billede hrc Mester
03. marts 2004 - 10:48 #1
I grove træk: Lav en socket-forbindelse og få serveren til at stå og lytte. Lav en protokol som bl.a. indeholder klientens (navn, datalgd, data). Overvej at have kun een tabel med felterne (id (=klienten), linienr, tekst) og så gemme det hele der. Send evt. et svar tilbage til klienten om det gik god eller ej.

Det er hvordan jeg ville lave det - skal se om jeg får tid til at delphificere det til noget brugbart. En sjov lille opgave.

Nej, 200+ points er ikke tilladt (ærgerligt, ærgerligt ;-))
Avatar billede hrc Mester
03. marts 2004 - 13:26 #2
Nu har jeg et lille program liggende. Det er simpleste socketkommunikation (dog trådbaseret på listener-siden for at undgå kludder i kommunikationen. Der bliver ikke skrevet noget i noget tabel - det er ikke den svære del og her skal du bare gennemløbe en TMemo og banke det ned i tabellerne.

Der sendes kun strenge (sendln), men der er intet der forhinder dig i at lave førnævnte header:

THeader = packed record
  ID : integer;
  DataSize : integer;
end;

og så streame det i stedet. Du kan også bare foranstille id i hver streng du sender, men det er en ineffektiv løsning.

email: hrc_public snabela hotmail dot com.

Hvis du vil have det at kigge på, så
Avatar billede hrc Mester
03. marts 2004 - 13:27 #3
Eller sende ID som første streng (den er noget kønnere)
Avatar billede prodoc Nybegynder
04. marts 2004 - 01:11 #4
jeg er ikke så vildt fantastisk til Delphi, specielt ikke strenge;-) kunne jeg ikke få dig til at sende det fulde projekt til mig på " pubstar snabela slyngelstuen dot dk " De ændriger du snakker om kunne jeg ikke få dig til at indføre det for mig...?
Avatar billede hrc Mester
04. marts 2004 - 12:54 #5
Jo, sagtens, men du skriver ikke hvilken database du vil foretrække. Hvordan skal tabeldata efterfølgende bruges?
Avatar billede prodoc Nybegynder
04. marts 2004 - 13:00 #6
mdb database, lavede engang et program der læste og skrev til en database, men kan ikke lige huske hvilken slags det var, men mener det var en Microsoft mdb database... :)
Avatar billede prodoc Nybegynder
05. marts 2004 - 01:03 #7
jeg forstår det ikke helt, min siger OBCD (eller lignende) driveren ikke kan findes... (det er vist microsoft database driveren)

og er det ikke muligt at lave det sådan at der også er en memo som virker som ved asp hvor der er en BOF og en EOF (den tager alle felteren i en tabel og skriver dem i en lang liste)?
Avatar billede hrc Mester
05. marts 2004 - 11:19 #8
Jeg antager at du har Access på din maskine - hvis ikke, så mener jeg af fejlen skyldes at MS ikke leverer Access ODBC-driveren med. Hvad med windowsupdate.com?

Du vil gerne have data ud, id for id, ikke? En simpel sql vil kunne gøre det:

select text from data where id=:pId order by timestamp, line;

Resultatet er tekst i den rækkefølge som det er blevet tampet ind i maskinen.
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