ağ bağlantısından mesaj yollama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Misafir

ağ bağlantısından mesaj yollama

Mesaj gönderen Misafir »

arkadaşlar size kolay bi soru sorcam ama bana göre zor gusel anlayacağım bi şekilde yanıtlarsanız sevinirim
şimdi internet cafede çalıştıra "net send Masa09 naber" yazınca masa9a mesaj çıkıyor ekranında bende formuma bi butona koydum böyle yaptım WinExec('net send masa09 naber', SW_SHOWNORMAL);

yanlız ben 2 tane edit kutusu koyup istedğim masaya mesaj göndermek istiyorum yani edit1 hangi masaya yollayacağım örnek Masa01 , edit2 yede mesajım naber napıyorsun vs.. bunu nasıl yapabilirim anlayacağım şekilde cevaplarsanız sevinirim biliyorsunuz ben acemiyim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam...

- Kodunuzdaki şekli aynen uyguluycam... Sadece sabit koyduğunuz yerleri değişken yapıcam...

Sizin kodunuz :

Kod: Tümünü seç

WinExec('net send masa09 naber', SW_SHOWNORMAL); 


Yeni kodunuz :

Kod: Tümünü seç

WinExec('net send '+Edit1.Text+' '+Edit2.Text, SW_SHOWNORMAL); 
- Butona basınca bu yeni kodu yazarsanız, Edit1'de yazılı masa ismine, Edit2'de yazılı olan mesajınız iletilir...

- Yeterince açık olmuştur umarım...

:) - Size yeni bir proje önereyim... Edit1'e yazmak yerine, mevcut masaların isimlerini girdiğiniz bir ComboBox yardımıyla, listeden seçip bu seçilen masaya mesaj atmayı deneyin... :idea:

- Çalışmalarınızda başarılar....
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

Verdğin kod olmadı hata veriyor hep ama önerinde gusel ayrıca combobox nasıl yapıucaz ben şöyle bişey yaptım olmadı???

WinExec('net send '+ComboBox1.Text, SW_SHOWNORMAL);
verdğin edit olanıda çalışmadı malum heralde eksik bişey yapıyorum!
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

denemedim ama pchar kullanırsan olur sanırım.

WinExec(PChar(string olarak komut geliyor buraya), SWShowNormal);

Kolay gelsin.
Misafir

Mesaj gönderen Misafir »

Benim aklıma bişey geldi radio buton yada sizin dedğiniz gibi ComboBox'a teker teker kod eklesem şöyle
WinExec('net send masa09 naber', SW_SHOWNORMAL);
WinExec('net send masa10 naber', SW_SHOWNORMAL);
WinExec('net send masa11 naber', SW_SHOWNORMAL);
diye comboboxdan ayda radiobuton işaretlesem sonrada butona yıklayınca combo boxdaki yada radio daki hangisini işaretleydiysem çalıştırsa olamazmı ayrıca şu edit olnanı gusel aslında onuda bi anlatsanız
comboxda olsa olur gerçi yardımmm
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

gönderilecek pc secimi combobox ile

mesajı ise edit ile yaparsan daha iyi olur bence

Anlamadıgın konu ne ?

Sayfa ya bir edit biliseni ekle
ve bu edit içine yazdıklarını

Kod: Tümünü seç

edit1.text 
ile alde edersin

Kod: Tümünü seç

WinExec('net send '+combobox1.Text+' '+Edit1.Text, SW_SHOWNORMAL); 
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@zemin selam...

@admin haklı, senin gönderdiğin kod üzerinde basit bir değişiklik uygulayıp, delphi ile denemeden yollamıştım... PChar fonksiyonu ile bu yazıyı PChar tipine dönüştürmek gerekli...

Kod: Tümünü seç

  WinExec(PChar('net send '+Edit1.Text+' '+Edit2.Text), SW_SHOWNORMAL);


@abdulkadir'in yazdığı şekilde Combobox ile seçenek sunabilirsin... Onda da daha önceki gibi PChar fonksiyonunu eklemek zorundasın...

Kod: Tümünü seç

WinExec(PChar('net send '+Combobox1.Text+' '+Edit2.Text), SW_SHOWNORMAL);
RadioGroup kullanmak istersen de şöyle bir yapı izlersin... (yine Button basılınca çalışacak...)

- Unutmaman gereken şey, her zaman listeler 0 ile başlar ve dolayısıyla liste eleman sayısından bir eksik rakamla biter...

- Aşağıdaki örnekte de 0ncı eleman aslında ilk elemandır... 2nci eleman da aslında 3ncü elemandır..

Kod: Tümünü seç

Var
  Mesaj : String;
begin
   Case RadioGroup1.ItemIndex of
   0: Mesaj := 'net send masa09 '+Edit2.Text;
   1: Mesaj := 'net send masa10 '+Edit2.Text;
   2: Mesaj := 'net send masa11 '+Edit2.Text;
   end; // Case
   WinExec(PChar(Mesaj), SW_SHOWNORMAL);
end;
- Kodda sade bir görünüm için Mesaj adında bir değişken koydum... Dilersen her satırda daha önce senin belirttiğin gibi tekrarlama yapabilirsin.. PChar'ı unutmadan ama...
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

teşekkürler
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bu konuya örnek olması açısından. Net'ten Arşivlediğim bir örnek.

Kod: Tümünü seç

//sadece edit1 ve memo1 ve button1 ekleyiniz...
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
  procedure ExecuteShellCommand(cmdline: string; hidden: Boolean);
    { Public declarations }
  end;

var
 a,b:string;
  Form1: TForm1;

implementation

{$R *.DFM}

procedure Tform1.ExecuteShellCommand(cmdline: string; hidden: Boolean);
const
flags: array [Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE);
var
cmdbuffer: array [0..MAX_PATH] of Char;
begin
GetEnvironmentVariable('COMSPEC', cmdBUffer, SizeOf(cmdBuffer));
StrCat(cmdbuffer, ' /C ');
StrPCopy(StrEnd(cmdbuffer), cmdline);
WinExec(cmdbuffer, flags[hidden]);
end;

procedure TForm1.Button1Click(Sender: TObject);

begin
 a:= edit1.text;
 b:=memo1.text;
 //c:= 'net send ' +a + ' ' +
ExecuteShellCommand('net send  ' + a+ ' ' + b , True);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.text:='';
end;

end.
İyi Akşamlar.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

pc isimleri çözülemiyorsa makina adı yerine direkt ip lerini yaz.
Cevapla