Anonymní profil Franta – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Franta – Programujte.comAnonymní profil Franta – Programujte.com

 

Příspěvky odeslané z IP adresy 109.238.35.–

Delphi › Stream videa a zvuku
25. 4. 2011   #141232

Hledam zpusob jak umoznit stream videa nebo zvuku mezi dvouma klientama po pocitacove siti. Zajima me spise teoreticky postup (princip) a jake komponenty by se pripadne pouzily (napadaji me ClientSocket, ServerSocket a IndyTCP komponenty).

Predem diky za odpoved

Delphi › Sockety a bezpečnost
25. 4. 2011   #141231

Mám program, kde používám clientsocket a serversocket prakticky jedine co delam je, ze posilam text pomoci sendtext/receivetext a zajimalo by me, jestli hrozi nejake bezpecnosti riziko ohledne pouzivani socketu.
Vím, že hodně záleží na programu a hlavne na chyby v nem, ale ptám se tak obecně.

Předem díky za odpověď

Delphi › Posilani souboru
16. 1. 2011   #137901

nervak napsal:
Ještě upřesnění.
Pokude cílový soubor neexistuje a chceš, aby se automaticky vytvořil, tak mode bude fmCreate or fmOpenWrite.
A přidávat se bude, dokud to bude ta samá instance streamu. Tj. nebudeš ho pořád znova vytvářet (šlo by to, kdybys vždycky zároveň použil Seek a nastavil pozici na konec), ale vytvoříš si ho na začátku přenosu a pak do něj jen budeš připisovat.



Jasny diky.

Delphi › Posilani souboru
16. 1. 2011   #137897

nervak napsal:
Pro příjem budeš mít ten stream vytvořený s fmOpenWrite a budeš do něj zapisovat - stream.WriteBuffer. Data se budou přidávat na konec.



Super diky

Delphi › Posilani souboru
16. 1. 2011   #137891

Dobry funguje mi to ale jen mi nefunguje skladani segmentu dohromady

mam



procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
stream: TFileStream;
buffer: array[1..4096] of byte;
velbuf:integer
begin
socket.ReceiveBuf(buffer,velbuf);
stream.Read(buffer,velbuf);
end;


nejsem si jisty jak funguje nacitani do streamu jestli se timto zpusobem budou data pridavat nebo se budou prepisovat.

Delphi › Posilani souboru
16. 1. 2011   #137867

nervak napsal:
No, tak jak teď asi máš něco jako toto:

stream := TFileStream.Create(...);

socket.SendStream(stream);
Tak prostě nepošleš celý stream, ale pošleš ho po částech:
stream.ReadBuffer(...buffer...);

socket.SendBuffer(...buffer...);
A obdobně pro čtení.



Ok ale jak narvu soubor do bufferu?

Delphi › Posilani souboru
15. 1. 2011   #137820

Mám chat, celý je realizovaný pomoci clientsocket a server socket, všechny zpravy jdou na server a ten ji pošle klientu kterému je určena a chtel bych udělat aby se tímto způsobem daly posílat soubory.

Vím jak bych poslal soubor na server a pote klientovy (pres Stream), ale problem je v tom, že soubor nejdřive pošlu na server, musim cekat az se cely nahraje a pote urcitemu klientovy. To trvá dvakrat tak dlouho nez by bylo dobre a navic pri prijimani a posilani souboru program zamrzne , to by slo resit pres vlakna, ale v ty neumim a nechci se do nich poustet.

Kdybych posilal data z klienta na klienta, tak by to nebyl zas takovy problem, ale chci aby bezelo vsechno pres server.

Napadlo me ze bych soubor posilal napr po 20kb to by umoznovalo zaroven posilat data na server a ten by se v te same chvily uz posilal(mezitim bych mohl delat i jine veci a program by nezamrzl) s malym zpozdenim, ale netrvolalo by to 2x dlouho . Jenze nevim jak posilat soubor po castech a nasledne jak ho slozit. Tohle me napadlo ze by se to takhle dalo resit, ale asi bude i schudnejsi cesta jen o ni nevim.

A tak pisu jestli ma nekdo nejaky navrh nebo radu.

Predem diky

Delphi › RichEdit a prvni znak
23. 12. 2010   #137110

liborb napsal:
Zkus okno se špatným znakem např. minimalizovat a pak znovu obnovit, tím poznáš, jestli je to jen chyba překreslení nebo je problém jinde.



Zkusil jsem a znak je porad zdeformovany takze problem je nekde jinde.

GIMP › Gif Animace
22. 12. 2010   #137097

Nejdřiv popisu co delam. Delam gif animaci, takze vytvorim nekolik obrazku (bez pozadi), kazdy v jedne vrstve, dam filtry-animace-optimalizace (pro gif), vytvori se novy soubor uz s intervali a tak uložím pustím a ted to prijde, v animaci se obrazky nestridaji ale "nabaluji" na sebe a ja potrebuju aby se obrazky menily. Urcite mam jen neco spatne nastavene a nevim co. Předem díky za odpoved.

Vrstvy v gimpu:



Screen z výsledne animace:



Edit: Vyřešeno. Přepsal jsem ve vrstvach (combine) na (replace) ale stale by me zajimalo kde se nastavi aby bylo rouvnou nastaveno replace


Offtopic › Gif animace
22. 12. 2010   #137093

Hledám program (nebo způsob), ktery umí vytvářet animace bez pozadí. Mám obrázky .tif a potrebuju z nich udělat animaci, ale žádny program co jsme použil ji nevytvoří bez nějakého pozadí. Zkoušel jsem zoner gif animator, easy animator a další co jsme našel na netu. Možná nejde vytvořit animace bez pozadí z .tif a je potřeba jiný typ nebo něco dělám spatně ( matně si pamatuju, že zoner gif anim. umí animace bez pozadí, ale nejsem si jistý). Předem díky.

Delphi › Vytvoření více formulářů a j…
16. 12. 2010   #136972

Můj dotaz předvedu na příkladu.

Mám form1 a form2. Na form1 mám tlačítko:

procedure TForm1.Button1Click(Sender: TObject);

begin
form2:=tform2.create(form1);
form2.show;
end;


Takže při stisku se vytvoří nový form2. A já chci abych form2 viděl ve spodní liště zvlášt, takzě form1 a form2 a mohl mezi nimi překlikávat.

Tuším, že form2 budu muset vytvářet uplně jiným způsobem než teď a nebo že to vůbec není proveditelné. V liště je totiž Project a ne formy a project obsahuje vsechny vytvořené formy. A tak se ptám jak bych se to udělat.

Edit: Vyřešeno

procedure TForm1.Button1Click(Sender: TObject);

begin
form2:=tform2.create(form1);
SetWindowLong(form2.Handle, GWL_EXSTYLE, WS_EX_APPWINDOW);
form2.show;
end;

Delphi › RichEdit a prvni znak
16. 12. 2010   #136971

liborb napsal:
A není to jenom chyba překreslení?



Jak to myslíš chyba překreslení?

Delphi › RichEdit a prvni znak
15. 12. 2010   #136941

Mám na první pohled triviální problém. Na formulář vložím RichEdit nic jiného spustím program a začnu psát do richeditu a ted to prichází, první napsany znak je jaksi zdeformovaný. Vůbec si nedokáži predstavit čím by to mohlo být způsobeno, když se to projevuje jen u prvního znaku, a když poté vše smažu a žačnu psát znova první znak už je normalní.



Edit: Při změně fontu je vše OK. Problém je tím vyřešen, ale stále se první znak deformuje u fontu MS Sans Serif a zajímalo by mě, kde může být chyba.

Delphi › Označení položky na pravé tl…
12. 12. 2010   #136830

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);
var
MousePos : TPoint;
OverItemIndex : integer;
begin
MousePos.x := X;
MousePos.y := Y;
if Button = mbRight then
begin
OverItemIndex := listbox1.ItemAtPos(MousePos,False);
listbox1.ItemIndex:=OverItemIndex;
end;
end;

Delphi › Označení položky na pravé tl…
12. 12. 2010   #136819

Potřebuju, aby se položky v listboxu označovali při stisknutí pravého tlačítka na myši.

Na co? Používám popupmenu a pri jeho vyvolání potřebuju vědet na jakou položku jsem kliknul.

Edit: VYŘEŠENO

Delphi › Kreslící plátno
3. 12. 2010   #136512

___

Delphi › Kreslící plátno
3. 12. 2010   #136511

Honzc napsal:
Zkus to takhle


Diky za odpoved ale presne tohle jsem nehledal.

Kreslím černý obdelník
A chci aby se barvy pri kresleni nahledu neinvertovaly ale to asi nepujdu pri pouziti jenom jednoho canvasu.

Delphi › Kreslící plátno
2. 12. 2010   #136491

Diky za odpoved, udelam jsem to stim invertovanim a prepisovanim, jak pises, ale spis by me zajimalo, jestli to jde udelat tak, jak je to v malovani, protoze ted kdyz kreslim a mam uz neco nakreslene tak to se potom taky invertuje a vypada to zvlastne, totiz v malovani se nahled nemeni a nezalezi na tom co uz je nakresleno.

Delphi › Kreslící plátno
2. 12. 2010   #136490

_

Delphi › Kreslící plátno
29. 11. 2010   #136391

Můj problém nebo spíše dotaz je celkem prostý. Mám image1 a na ten kreslím pomoci canvas. Dejme tomu že chci nakreslit obdelník. Jen tak pro představu co mám namysli tady je kód.

var x1,y1:integer


procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
x1:=x;
y1:=y;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image1.Canvas.Rectangle(x1,y1,x,y);
end;

A já chci, aby když stisknu tlačítko a pohybuji myší abych viděl náhled jak bude obdelník vypadat a po uvolnení tlačítka se vykreslí.

Napadlo mě že použiji druhý image2 na ktery budu kreslit, hned po tom čistit image2 a až uvolním tlačítko čtverec se nakreslí na image1, ale to mi příjde zbytečně složité a náročné když se obdelník kreslí s každým nově posunutým pixelem a určitě existuje nejaká funkce nebo příkaz co tohle umožňuje, i kdyby ne tak možná nějáká jiná schůdnější cesta. Předem díky za odpovědi.

Delphi › Vytvoreni procedury
16. 11. 2010   #135964

Tak uz to mam precetl jsem nejakou literaturu a pisi ze misto create se ma pouzit createnew pri vytvareni novych formu nebo neco takovyho a stim to funguje

Delphi › Vytvoreni procedury
16. 11. 2010   #135959

Dobre diky, ale haze to error kdyz chci vytvorit ten novy form stisknutim na tlacitko tak to vyhodi

Project Project1.exe raised exception class EResNotFound with message 'Resource TChatForm not found'. Process stopped. Use Step or Run to continue.

Stim ze po chvily zkouseni program uz vubec nesel spustit se stejnou hlaskou

Project Project1.exe raised exception class EResNotFound with message 'Resource TForm1 not found'. Process stopped. Use Step or Run to continue.

Cely kod:

unit Unit1;


interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure NewChatForm;
procedure Button1Click(Sender: TObject);
private

public

end;

type
TChatForm = class(TForm)
memo: TMemo;
odeslat: TButton;
end;

var
Form1: TForm1;

implementation

procedure TForm1.NewChatForm;
var chatform : TChatForm;
begin
chatform := TChatForm.Create(Form1);
chatform.Show;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
NewChatForm;
end;

end.

Delphi › Vytvoreni procedury
16. 11. 2010   #135953

Napisu jen to dulezite, mam vice dynamicky vytvorenych oken, stim by problem nemel byt, v oknech mam button a memo predstavuju si to tak ze po kliknu na tlacitko se odesle zprava. Nic sloziteho. Takze k procedure onclick na tlacitko jsem priradil proceduru TForm1.OdeslatForm, ale potrebuju aby pro kazde tlacitko bral text z jineho mema a tady prichazi problem kdyz vytvorim proceduru

procedure TForm1.OdeslatForm(Sender: TObject); 
tak pote muzu pouzit
btnSend.onClick:=OdeslatForm;
vse funguje, ale kdyz chci procedury, jak to jen rict nejak odlisit, tak pouziji

procedure TForm1.OdeslatForm(CisloF:integer;Sender: TObject);


v tom pripade by teda mela byt prirazena procedura k btnsend.onclick

btnSend[Cislo].onClick:=OdeslatForm(CisloF); 


A ted se dostavame k memu problemu. Toto prirazeni nefunguje bude to nejspis Sendem ktery je uveden v procedure ale kdyz jsem u procedury
procedure TForm1.OdeslatForm(CisloF:integer;Sender: TObject);
nedeklaroval
CisloF:integer
tak jsem nemusel uvadet sendera a fungovalo to. Proto se ptam jaky Sender mam napsat nebo jestli je to cele spatne napsane. Snazil jsem se abych to napsal strucne, ale jestli jsem vynechal neco duleziteho napiste.



Zhruba takhle to mam napsane, avsak s chybou kterou jsem popsal vyse.
 var btnSend:array of TButton;

memoWri:array of TMemo;
formchat:array of TForm;

procedure TForm1.OdeslatForm(CisloF:integer;Sender: TObject);
begin
ClientSocket1.Socket.SendText(memoWri[CisloF].Lines.Strings[0]);
end;

procedure Tform1.FormCreate(Cislo:integer);
begin
formChat[Cislo]:=Tform.CreateNew(Form1);
formChat[Cislo].show;
memoWri[Cislo]:=TMemo.create(self);
memoWri[Cislo].Parent:=formChat[Cislo];
btnSend[Cislo]:=TButton.Create(self);
btnSend[Cislo].parent:=formChat[Cislo];
btnSend[Cislo].onClick:=OdeslatForm(Cislo); //Error: Not enough actual parameters
end;

Delphi › Zmena velikost "array&q…
15. 11. 2010   #135933

Ok diky moc mi to pomohlo.

Delphi › Zmena velikost "array&q…
15. 11. 2010   #135927

Lze za behu programu zmenit napr

array [1..50] of integer
na
array [1..100] of integer
? Nebo existuje jiny typ ktery se meni sam?

Delphi › Problem s více okny vytvoren…
15. 11. 2010   #135917

Diky za rady. S posilanim pres server problem nemam, vzdy kdyz poslu zpravu tak poslu od koho je, pro koho je a potom samotny text, ale pouziji teda vice socketu to by mohlo vyresit muj problem.

Muj problem totiz vezi jenom vtom, ze kdyz vytvarim formy dynamicky a vytvorim jich treba 5 a vsechny maji stejne jmeno a stejna jmena komponent a ja nevim jak zacilit na kazdy znich zvlast, ale kdyz na kazdy dam socket tak ten se pripoji k serveru odesle mu ze prijima data jen od napr uzivatele1 a potom kdyz mi treba bude psat uzivatel1 tak to rovnou pujde do toho dynamicky vytvorene socketu a ne do socketu ktery je na kontakt listu.

To by mohlo fungovat ne?

Delphi › Problem s více okny vytvoren…
15. 11. 2010   #135913

Hm tím co jsi napsal myslíš to abych pri vytvoření dalšího formu vytvořil i další socket? Nebo vytvorit tolik socektu jako mam kontaktu(tohle by asi nevyresilo muj problem protoze se ted nepripojuji primo ale vsechno jde pres server)?

Delphi › Problem s více okny vytvoren…
14. 11. 2010   #135893

Dělám chat a když chci s někým psát vyberu někoho z kontakt listu a pro něj dynamicky vytvorím nový formulár s komponentami. Jenže problém je v tom že když chatuju s více lidmi vytvoří se více formulářu ale všechno chodí jen do posledně vytvořeného, tak hledám vhodný způsob jak označit jednotlivé formuláře abych vědel s kterým mám pracovat a do kterého mam odesílat data.

Napadlo mě že při vytvoření formuláře mu dam Tag a podle toho potom vybíram jednotlivá okna jenže nevím jak pote vybírat jednotlivé formy do kterých se bude psát.

Ještě mě napadlo ze misto deklarace (napr Okno:TForm) napsat (Okno: array of [1..50] of TForm) a pote bych vedel jak vybirat ruzne formy jenze to me omezuje na urcity pocet moznych otevrenych oken a jeste nevim jestli je to vhodne vzhledem k mistu v pameti kdyz bych tento zpusob musel aplikovat i na mema a tlacitka v tom formu.

Prozatím jeto napsany v této podobě(bez zmen velikosti atd):

var  formChat:TForm;memoRec,memoWri:TMemo;btnSend:TButton;

procedure Tform1.novyForm;
begin
formChat:=Tform.CreateNew(Form1);
formChat.show;
memoRec:=TMemo.create(self);
memoRec.Parent:=formChat;
memoWri:=TMemo.create(self);
memoWri.Parent:=formChat;
btnSend:=TButton.Create(Self);
btnSend.parent:=formChat;
end;


potom uz jen pisu memoRec.lines.add(prijatytext);

Franta
Delphi › Sockety
25. 10. 2010   #134947

Dobře díky, takže když se někdo připojí otevře se pro ně socket a když se odpojí zavře se?
Stím že by se dalo použít serversocket1.Socket.Connections[I]; stim že když za "I" dosadím číslo tak
se vybere "I" socket a pote se socket.sendtext(Text); odesle na socket ktery jsem vybral pomoci serversocket1.Socket.Connections[I]; nebo je na to jiny prikaz? Nemám momentálně více počítačů, abych to vyzkoušel.




Franta
Delphi › Sockety
25. 10. 2010   #134945

Předem říkám že s delphi zas tak moc neumím a proto se ptám.

Snažím se vytvořit komunikační program, celé to chci realizovat pomocí clientsocket a serversocket. Chci to tak, aby se clienti připojili na server a potom by odesílali texty ve forme příjemce/samotný text (napr 192.168.0.20/Cau), server by zprávu zpracoval a na adresu 192.168.0.20 odeslal "Cau", takže by se dal pouzit prikaz socket.SendText, ale nevím jak nastavit aby se zpráva poslala na adresu kterou chci.

Na straně serveru by to asi celé mohlo vypadat:

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
Zprava:=Socket.ReceiveText;
Decode; //rozkouskovani zpravi na IP a Text
//avsak zde nevim jak nastavit cilovou ip adresu
socket.sendtext(Text);
end;

Ptám se tedy jen na to jak nastavit IP adresu na kterou chci text odeslat.

Delphi › Indy / Sockety ?
20. 10. 2010   #134790

Prave co jsem koukal na programovani indy a socketu tak sockety mi prijdou vic srozumitelny nez indy.

Delphi › Indy / Sockety ?
20. 10. 2010   #134788

Mám za ukol naprogramovat aplikaci pro komunikaci po pocitacove siti co bude obsahovat chat a posilani souboru a nevim jestli bude lepsi programovat se socketama a nebo s indy. Sockety mi prijdou vic "lidstejsi" ale nevim jestli umi dostatek funkci pro takovou aplikaci. Tak se ptam co bude lepsi.

OS - Windows › MS Office Word problem s for…
30. 9. 2010   #134146

Ok diky sice nepomohlo resetovani pisma ve wordu ale az v nastavenim windowsu ale diky .

OS - Windows › MS Office Word problem s for…
30. 9. 2010   #134116

hm taky jsem ted zjistil ze to dela jen u pisma typu Times New Roman

OS - Windows › MS Office Word problem s for…
29. 9. 2010   #134075

Nemuzu vypnout kurzivu. Kdyz dám tucne nebo jakkoli jinak text sformatuji tak kurziva zmizi ale kdyz chci text bez kurzivi bez podtrzeni, proste normalni text, tak to nejde text je porad s kurzivou zkousel jsem preinstalovat office ale nepomohlo.

Pouzivam office 2003.

Delphi › Komunikace po počítačové síti.
28. 9. 2010   #134014

Hmm dobre diky za rady.

Delphi › Komunikace po počítačové síti.
27. 9. 2010   #134002

No takhle je to rocnikovy projekt nechci vas nejak zatezovat mima problemama ale problem je v uciteli ze on programovani neuci ale ma na starosti rocnikovi projekty a v tom je ten problem on to neuci a vubec netusi co umime a rozhodne to neni na rocnikovej projekt na maturitu ale co nadelam. Tohle bylo jeste nejlehci zadani.

Přesné zadání:
Navrhněte a napište aplikaci umožňující komunikaci po počítačové síti. Aplikace bude obsahovat chat, posílání souborů a kreslící plátno.

Delphi › Komunikace po počítačové síti.
27. 9. 2010   #133984

Mám za ukol: Navrhněte a napište aplikaci umožňující komunikaci po počítačové síti.( Aplikace bude obsahovat chat, posílání souborů a kreslící plátno. to ale zatim neni dulezite) Musím pripomenout ze poradne umi jen v Delphi7 a jedna se o komunikaci jen v pocitacove siti ne v celem internetu.

Potrebuju poradit jak vubec zacit abych nezacal a potom zjistil ze to nejde nebo bude lepsi jina varianta. Premyslel jsem a prisel jsem na to ze to cele budu realizovat pomoci komponent ClientSocket a ServerSocket. Jenze podle toho co jsem tak zjistil chtelo by to server kam by se ukladali ucty ktere jsou online, pres tento server by sli zpravy soubory atd. A nebo by kazdy byl takovy maly server a kdyby se pripojil ( zapnul program) tak by se vyslal broadcast ze se pripojil a v contactlistu by se zobrazil (tato varianta mi prijde lehci a hlavne nebude potreba uz zmineni server, ale nevim jestli to je realizovatelne takze nechci zacit ztravit nad tim nekolik tydnu a potom zjistit ze to nejde).

A ted co vlastne chci.
Nevím jestli takhle cela myslenka je dobra a zda bych ji mel dal rozvijet nebo pouzit uplne jine komponenty jiny postup atd.
Takze jestli byste mi mohly poradit nebo podat navrhy jak bych mel zacit.

P.S. Omlouvam se za moji cestinu a moje vyjadrovani :)

Delphi › Lazarus a multiplatformní ap…
26. 9. 2010   #133930

Kdyz napisu neco v lazarusu pujde to na winech i linuxu?

Delphi › Lazarus a multiplatformní ap…
25. 9. 2010   #133916

mam za ukol

Napište multiplatformní aplikaci „Subnet calculator“. Tato kalkulačka bude umět pracovat s Ipv4 i Ipv6.

Hlavne poradne umim jen v delphi a tak lazarus by mohla byt volba jak udelat multiplat. aplikaci.

Delphi › Lazarus a multiplatformní ap…
25. 9. 2010   #133893

Dobry den,
potreboval bych naprogramovat multyplatformní aplikaci ale nejak nevim vcem vcem se da programovat. V cem poradne umim je delphi a slysel jsem neco ze Lazarus je docela podobny delphi a ze dela i multyplatformni aplikace ale nevim to jiste tak se chci zeptat jestli opravdu kdyz neco napisu v lazarusu jestli to bude multyplatformni a jestli programovani vnem hodne podoba delphi. Taky na zaver by me zajimalo v cem vsem se daji programovat multyplatformni aplikace.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý