delphi KeyPress Sorunu

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

kardeşim kitaplar var fatih küçük kelepçe memik yanık her 2 sininde kitabı var işe yarar bişe yok açtım okudum memik yanık kesin help çi fatih küçük kelepçe takıldıgım yer olursa size danışa bilirmiyim kitabınızı aldım diye mail atttım hayır diyip engellemiş beni şimdi ben hangi kaynak güzel anlatım yapıyorda ben okumak istemiyorum
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi KeyPress Sorunu

Mesaj gönderen mrmarman »

Hocam, buradaki cevap yazma inceliği gösteren herkes azımsanmayacak noktalar sunarak en azından google ile arama fırsatı sunmuşlar. Tüm çabalar senin lehine ve aklında daha kalıcı olsun diyedir...

- Üzerinde çalışmaya çabaladığın bu konu hakikaten belli bir birikimden sonra ele alınacak cinstendir. Herhangi bir yayından bu sorunun cevabını bu şekilde araman zaten doğal akışa aykırı. MSDN kaynaklarını okur yazar olmadan bu tip projeleri kurgu çaban zaten intihar niteliğinde. Değerli vaktini daha nitelikli işlere ayırmalısın. Hop diye denize atlayıp yüzme öğrenenler vardır ama boğulanlar da az değildir bunu unutmamak lazım.

Neyse. Konu daha fazla uzatmadan vaktim varken yapman gerekeni özetleyeyim...

- Bir kere örnek projendeki TLB dosyasını inceledim. ben Windows 7 kullanıyorum kendi TLB dosyamı oluşturdum ve Type tanımı orada eksiksizdi. Kodunu aşağıdaki şekilde güncellemen gerekiyor.

Bu linkten benim Windows 7 Enterprise ed. sürümünde oluşturduğum TLB dosyasını bulacaksın. Kendininki ile bir değiştirip denersin.

ürün projen şöyle görünüyor
Resim

Kod: Tümünü seç

procedure TForm1.GetConnectionList(Strings,IdList: TStrings);
var
  pEnum: IEnumVariant;
  vNetCon: OleVARIANT;
  dwRetrieved: Cardinal;
  pUser: NETCONLib_TLB.PUserType1;
  NetCon : INetConnection;
//*** Yeni Eklendi...   ***
  NetSharingManager : TNetSharingManager;
//*************************
begin
//*** Yeni Eklendi...   ***
  NetSharingManager := TNetSharingManager.Create(nil);
//*************************
  Strings.Clear;
  IdList.Clear;
  pEnum := ( NetSharingManager.EnumEveryConnection._NewEnum as IEnumVariant);
  while (pEnum.Next(1, vNetCon, dwRetrieved) = S_OK) do
  begin
     (IUnknown(vNetCon) as INetConnection).GetProperties(pUser);
     NetCon := (IUnknown(vNetCon) as INetConnection);

     if (pUser.Status in [NCS_CONNECTED,NCS_CONNECTING])//remove if you want disabled NIC cards also
     and (pUser.MediaType in [NCM_LAN,NCM_SHAREDACCESSHOST_LAN,NCM_ISDN] )
     and (GetMacAddress(GuidToString(pUser.guidId))<>'' ) then
     begin
       //we only want valid network cards that are enabled
       Strings.Add(pUser.pszwName );
       IdList.Add(GuidToString(pUser.guidId));
     end;
  end;
//*** Yeni Eklendi...   ***
   NetSharingManager.Free;
//*************************
end;
Kendin Type Library üzerinden TLB oluşturmayı biliyorsundur. Bilmeyenler için aşağıda vereyim.
- Delphi IDE'sinde Component menü başlığından Import Component... başlığı seçilince aşağıdaki sıralama ile seçimlerinizi yapınız.

Resim
Resim
Resim
Resim
Resim
Resim
Resim ....Resim
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

mrmarman söylediklerini yaptım böyle bir hata aldım

Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi KeyPress Sorunu

Mesaj gönderen mrmarman »

pakv yazdı:mrmarman söylediklerini yaptım böyle bir hata aldım

...
Neyi nasıl yaptığını bilemiyorum. Bu linkten projeyi gönderiyorum, inceler nerede hata var anlar buradan paylaşırsın.
Resim
Resim ....Resim
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

Allah razı olsun sende olmasan sitedekilerden hiç hayır yok senden bir ricam var ben bu kitaplardan bişe anlamadım delphi notları hazırlayıp yayınlayabilirmisin temellerden başlayıp daha anlaşılır örnekli kitaplardakiler anlaşılmaz halde bu konuda yardımcı olabilirmisin bende delphi yi ögrenirsem delphi sitesi açacam destek verecem yardımlarını bekliyorum ...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi KeyPress Sorunu

Mesaj gönderen mrmarman »

Teşekkür ederken bile sinirlerine hakim olamıyorsun, bu olmamış. :alsana:

- Forumdakilerin hakkını vermen lazım. Bugüne kadar faydası olmasa burada oturum açıp soru sormazdın. Önce kendimizi sonra diğer sakinleri eleştirmeliyiz değil mi kardeşim. Çok haksız bir yorum olmuş sendeki de...

- Bu ve diğer forumlarda yazdığım yazılar zaten makale niteliğinde olsun, temelden başlasın ve örnekli ve resimli olsun türünden olduğunu değerlendiriyorum. Demek ki ilgini çeken konularda yazmıyormuşum :roll:
Resim
Resim ....Resim
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

Ben çok sabırsızım kimse delphi de bana yol göstermedi o yüzden ögrenmedim bu zaman kadar ama yazım işini seviyorum açıkçası gerçekten zevkli bir iş birde ögrenebilsem yardımcı olabilecekmisin ...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi KeyPress Sorunu

Mesaj gönderen mrmarman »

(1) MSN, Skype, eposta veya özel mesaj vb. ile bir yardım -en azından benden- bekleyemezsin. :roll:

(2) Forum kuralları dahilinde düzgün sorular sorarsanız ben dahil forumdaki herkes yardımcı olur. Ancak uslüp konusunda titizlik gösteriyoruz.

(3) Eğer birisi yardım istiyorum derken anahtar teslimi kod dediğimiz hiç bir emek sarf etmeden cevap bekliyorsa, ödevini ve hatta ticari gelir elde edeceği bir projeyi bize yaptırmaya çalışıyorsa bunu da anlayacak kadar aklımız başımızda. Bunu da buradan duyuralım. Seninki de bunun benzeri bir durum oldu ama daha önceki soru - cevap ilişkisi ile dinamik belli oldu. Onun için başlığın tamamına ermesi adına, bu defa kodlarını düzeltip yollayarak bir esneklik gösterdik. Tekrarı konusunda şansını zorlamazsan memnun oluruz. :)


EK :

- Sorunun nerede olduğunu da paylaşmadığın için ayıplıyorum, demek ki sorunun kaynağı seni ilgilendirmiyor, sadece çözüm ile ilgileniyorsun.

- Buradan eski kodlardaki NETCONLib_TLB.PAS dosyasındaki eksik olan ve ana forma eklenecekleri yazıyorum. Başlığı okuyacak ilgililer içindir.

// Ana forumun üst kısımlarına eklenecek Class tanımı...

Kod: Tümünü seç

Type
  TNetSharingManager = class(TOleServer)
  private
    FIntf: INetSharingManager;
    function GetDefaultInterface: INetSharingManager;
  protected
    procedure InitServerData; override;
    function Get_SharingInstalled: WordBool;
    function Get_EnumPublicConnections(Flags: tagSHARINGCONNECTION_ENUM_FLAGS): INetSharingPublicConnectionCollection;
    function Get_EnumPrivateConnections(Flags: tagSHARINGCONNECTION_ENUM_FLAGS): INetSharingPrivateConnectionCollection;
    function Get_INetSharingConfigurationForINetConnection(const pNetConnection: INetConnection): INetSharingConfiguration;
    function Get_EnumEveryConnection: INetSharingEveryConnectionCollection;
    function Get_NetConnectionProps(const pNetConnection: INetConnection): INetConnectionProps;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: INetSharingManager);
    procedure Disconnect; override;
    property DefaultInterface: INetSharingManager read GetDefaultInterface;
    property SharingInstalled: WordBool read Get_SharingInstalled;
    property EnumPublicConnections[Flags: tagSHARINGCONNECTION_ENUM_FLAGS]: INetSharingPublicConnectionCollection read Get_EnumPublicConnections;
    property EnumPrivateConnections[Flags: tagSHARINGCONNECTION_ENUM_FLAGS]: INetSharingPrivateConnectionCollection read Get_EnumPrivateConnections;
    property INetSharingConfigurationForINetConnection[const pNetConnection: INetConnection]: INetSharingConfiguration read Get_INetSharingConfigurationForINetConnection;
    property EnumEveryConnection: INetSharingEveryConnectionCollection read Get_EnumEveryConnection;
    property NetConnectionProps[const pNetConnection: INetConnection]: INetConnectionProps read Get_NetConnectionProps;
  published
  end;
// Bu Class'ın procedure / function ve property tanımlamaları

Kod: Tümünü seç

{ TNetSharingManager }
procedure TNetSharingManager.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    Fintf:= punk as INetSharingManager;
  end;
end;

procedure TNetSharingManager.ConnectTo(svrIntf: INetSharingManager);
begin
  Disconnect;
  FIntf := svrIntf;
end;

constructor TNetSharingManager.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

destructor TNetSharingManager.Destroy;
begin
  inherited Destroy;
end;

procedure TNetSharingManager.Disconnect;
begin
  if Fintf <> nil then
  begin
    FIntf := nil;
  end;
end;

function TNetSharingManager.GetDefaultInterface: INetSharingManager;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call "Connect" or "ConnectTo" before this operation');
  Result := FIntf;
end;

function TNetSharingManager.Get_EnumEveryConnection: INetSharingEveryConnectionCollection;
begin
    Result := DefaultInterface.EnumEveryConnection;
end;

function TNetSharingManager.Get_EnumPrivateConnections(
  Flags: tagSHARINGCONNECTION_ENUM_FLAGS): INetSharingPrivateConnectionCollection;
begin
    Result := DefaultInterface.EnumPrivateConnections[Flags];
end;

function TNetSharingManager.Get_EnumPublicConnections(
  Flags: tagSHARINGCONNECTION_ENUM_FLAGS): INetSharingPublicConnectionCollection;
begin
    Result := DefaultInterface.EnumPublicConnections[Flags];
end;

function TNetSharingManager.Get_INetSharingConfigurationForINetConnection(
  const pNetConnection: INetConnection): INetSharingConfiguration;
begin
    Result := DefaultInterface.INetSharingConfigurationForINetConnection[pNetConnection];
end;

function TNetSharingManager.Get_NetConnectionProps(
  const pNetConnection: INetConnection): INetConnectionProps;
begin
    Result := DefaultInterface.NetConnectionProps[pNetConnection];
end;

function TNetSharingManager.Get_SharingInstalled: WordBool;
begin
    Result := DefaultInterface.SharingInstalled;
end;

procedure TNetSharingManager.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{5C63C1AD-3956-4FF8-8486-40034758315B}';
    IntfIID:   '{C08956B7-1CD3-11D1-B1C5-00805FC1270E}';
    EventIID:  '';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;
Resim
Resim ....Resim
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

Sayın mrmarman ne ödev için nede ticari gelir için ayrıca bu tür projeler bana para kazandırmaz ben hobi olsun diye bunları ögrenmek istiyorum emeklerinde boşa çıkmaz emin ol delphiyi ögrendigimde siteyi kurup ilk seni çagıracagım siteye bendeki amaç bu işi ögrenip faydalı olmak o kadar çok istiyorum bu işi en az senin kadar bilmeyi bu duyguyu anlatamam ama benim hatam atlaya atlaya bu işe başlamak çünkü unit pas dosyaları vs gibi kısımlar çok sıkıcı bunalttı beni ve benim aldıgım kitapların yazarları kaynakalrı yeterli degil sıfırdan başlayanlar için bence açıklama ve örnekler eksik bu konuda senden istedigim sıfırdan notlar hazırlayabilirmisin bir kaç örnekle birlikte kabul edersen çok sevinirim benden hiç yardım almadan program yazabilmek istiyorum bu konuda yardımlarını bekliyorum

not : sorunun nerde oldugu açıkçası merak ettim ama sormayı unuttum birde fazla sıkmış gibi olurum diye biraz düşündüm benim amacım ögrenmek istiyorum bu ara özür dilerim...

SAYGILARIMLA ...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: delphi KeyPress Sorunu

Mesaj gönderen mrmarman »

pakv yazdı:...bu konuda senden istedigim sıfırdan notlar hazırlayabilirmisin bir kaç örnekle birlikte...
- Sadece yazılım işiyle uğraşmıyor, aynı zamanda TRT'de kameramanlık yapıyorum.

- Sahada çalıştığım için ki Pazartesi günü Diyarbakır'da 1 hafta çalışıcam, dönünce 1 hafta Ankara'da çalışıp ardından 10 gün yurt dışına - Almanya'ya gidip orada çalışıcam, dönünce yine vs. vs. senelik izne ayrılmadığım zaman diliminde böyle blok vakit ayırmam imkansız. Ayrıca başlangıç seviyesi için çalışsam bile bir de daha ileri seviye projeler için WebServisleri için eğitim planım var. Bunları bir arada yürütmek kolay değil.

- Onun için forumdaki sorulara ihtiyaç olunan seviyede cevap vermek adına şu aşamada sadece buna söz verebilirim. :idea:
Resim
Resim ....Resim
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

haklsında ben şuanda ne yapacagımı bilemiyorum nerden başlasam hangi kaynaktan başlasam şaşkın bir durumdayım
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: delphi KeyPress Sorunu

Mesaj gönderen greenegitim »

Bulabilirsen marco cantu nün kitabını alabilirsin program yazmak sabır isteyen bir iştir.
http://learndelphi.tv/ buradaki videoları da izleyebilirsin.
Mücadele güzelleştirir!
pakv
Üye
Mesajlar: 65
Kayıt: 05 Haz 2013 08:59

Re: delphi KeyPress Sorunu

Mesaj gönderen pakv »

greenegtim bu kaynak ingilizce türkçe kaynakalr lazım
Cevapla