Forum İstatistikleri
Son Mesajlar
KonuTarih, saat YazarSon Gönderen Forum
  Child formlarda create yordamının çalışma sıras... 37 dakika önceLastCoderLastCoder Genel Programlama
  Mobil Uygulamada Yazdırma İşlemi Hk. 2 saat önceseydigozegir@gmail.comseydigozegir@gmail.com Mobil Platform - FireMon...
  Grid Hücre Renlendirme hk. 2 saat önceseydigozegir@gmail.comseydigozegir@gmail.com Mobil Platform - FireMon...
  FIREBIRD facebook GROUP daveti 8 saat öncesoftdestek3ddark FireBird
  Ürün Satış Eğitimi - Eğitim Videoları Bugün, 09:50Fesih ARSLANFesih ARSLAN Online Ürün Satış Eğitim...
  Ürün Satış Web Semineri - 7. hafta Bugün, 09:22Fesih ARSLANFesih ARSLAN Kitap Hakkında
  Online Eğitim Davet Linki - 7. Bölüm Bugün, 09:14Fesih ARSLANFesih ARSLAN Online Ürün Satış Eğitim...
  IntraWeb ile web sitesi yapılır mı Linux üzerin... Bugün, 08:2641linea413ddark Delphi ile Web Teknoloji...
  Interbase sürümleri ve aralarindaki farklar ? Dün, 21:06UgurUgur Interbase
  Delphi buluşması Dün, 18:43yhackupnarkotik Muhabbet Olsun
  1965-2019 arası programlama dillerinin popülerl... Dün, 15:40csunguraycsunguray Muhabbet Olsun
En Çok Cevaplananlar
  Youtube'da Delphi Eğitim... 133
  Yeni Kaynak Kitabın Yayı... 133
  Yeni Kaynak Kitap İhtiya... 123
  Delphi 10.3 Rio 111
  Kitap - Ön Siparişleri 109
  Karikatür Vakti 106
  Beklenen sürüm (Delphi 1... 75
  Delphi buluşması 73
  Kitap Telif Bedeli 72
  Delphi ile yazılımış tak... 71
  Kitap - Kapak Taslakları 63
  Delphi 10.2 Tokyo (Godzi... 58

Hoşgeldin, Ziyaretçi
Sitemizden yararlanabilmek için Kayıt olmalısınız.

Kullanıcı Adınız:
  

Şifreniz:
  





Forumda Ara

(Gelişmiş Arama)

Forum İstatistikleri
» Toplam Üyeler: 1.945
» Son Üye: BDogancay
» Toplam Konular: 3.769
» Toplam Yorumlar: 30.632

Detaylı İstatistikler

Son Aktiviteler
Child formlarda create yo...
Forum: Genel Programlama
Son Yorum:

LastCoder
37 dakika önce
» Yorumlar: 0
» Okunma: 6
Mobil Uygulamada Yazdırma...
Forum: Mobil Platform - FireMonkey (FMX)
Son Yorum:

seydigozegir@gmail.com
2 saat önce
» Yorumlar: 0
» Okunma: 19
Grid Hücre Renlendirme hk...
Forum: Mobil Platform - FireMonkey (FMX)
Son Yorum:

seydigozegir@gmail.com
2 saat önce
» Yorumlar: 5
» Okunma: 105
FIREBIRD facebook GROUP d...
Forum: FireBird
Son Yorum:

3ddark
8 saat önce
» Yorumlar: 7
» Okunma: 147
Ürün Satış Web Semineri -...
Forum: Kitap Hakkında
Son Yorum:

Fesih ARSLAN
Bugün, Saat: 09:22
» Yorumlar: 0
» Okunma: 34
IntraWeb ile web sitesi y...
Forum: Delphi ile Web Teknolojileri
Son Yorum:

3ddark
Bugün, Saat: 08:26
» Yorumlar: 4
» Okunma: 188
Interbase sürümleri ve ar...
Forum: Interbase
Son Yorum:

Ugur
Dün, Saat: 21:06
» Yorumlar: 4
» Okunma: 85
Delphi buluşması
Forum: Muhabbet Olsun
Son Yorum:

narkotik
Dün, Saat: 18:43
» Yorumlar: 73
» Okunma: 12.520
1965-2019 arası programla...
Forum: Muhabbet Olsun
Son Yorum:

csunguray
Dün, Saat: 15:40
» Yorumlar: 6
» Okunma: 167
cxgrid hücre içine girile...
Forum: Delphi ile Web Teknolojileri
Son Yorum:

SimaWB
Dün, Saat: 13:08
» Yorumlar: 2
» Okunma: 33

 
  Comport Haberleşme Nasıl Yapılır?
Yazar: glagher - 13-10-2019, Saat: 14:20 - Forum: Genel Programlama - Yorumlar (2)

cportlib adında bir comport componenti indirim ve kurdum.Bu arada delphi xe7 kullanıyorum.BU component ile ilgili örnek bir kod parçasıda buldum ama bende çalışmadı hatada vermedi.

Örnek Kod parçası

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, CPort, Vcl.StdCtrls, Vcl.ExtCtrls;



type

  TFTerazi = class(TForm)

    ComPort1: TComPort;

    BtnGonder: TButton;

    Timer1: TTimer;

    Memo1: TMemo;

    Label1: TLabel;

    procedure BtnGonderClick(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

  private

    { Private declarations }

  public

    cRcvBuffer         : PChar;

    CharCntReceived    : Integer;

    { Public declarations }

  end;



var

  FTerazi: TFTerazi;



implementation



{$R *.dfm}



procedure TFTerazi.BtnGonderClick(Sender: TObject);

begin

CharCntReceived := 0;

comport1.WriteStr('@00RD0000001552*'+#13+#0);

end;



procedure TFTerazi.FormCreate(Sender: TObject);

begin

cRcvBuffer := StrAlloc(512);

CharCntReceived := 0;

end;



procedure TFTerazi.Timer1Timer(Sender: TObject);

var x,y:integer;

    a:string;

begin

  x:=comport1.read(cRcvBuffer[CharCntReceived],512);



if x>0 then begin

  a:='';

  for y:=CharCntReceived to CharCntReceived+x-1 do a:=a+crcvbuffer[y];

  Memo1.Lines.Add('Alınan : '+ a);

  Label1.Caption:='Alınan : '+ a;

  //Lines.Add ('Alınan : '+ a); //Denemek iiçin ana ekrana memo ekle

end;

CharCntReceived := CharCntReceived +x;
end;

.dfm dosyası

object ComPort1: TComPort
   Connected = True
   BaudRate = br9600
   Port = 'COM1'
   Parity.Bits = prEven
   StopBits = sbTwoStopBits
   DataBits = dbSeven
   Events = [evRxChar, evTxEmpty, evRxFlag, evRing, evBreak, evCTS, evDSR, evError, evRLSD, evRx80Full]
   FlowControl.OutCTSFlow = False
   FlowControl.OutDSRFlow = False
   FlowControl.ControlDTR = dtrDisable
   FlowControl.ControlRTS = rtsDisable
   FlowControl.XonXoffOut = False
   FlowControl.XonXoffIn = False
   Left = 48
   Top = 32
 end


Yardımcı olursanız sevinirim

Bu konuyu yazdır

  3D görünmeyi kaybettim.
Yazar: Aktolgali - 12-10-2019, Saat: 22:47 - Forum: Genel Programlama - Yorumlar (2)

Merhaba;

Arkadaşlar daha önce yaptığım bir programı geliştirebilmek için kopyaladım fakat bu programı çalıştırınca kontrollerim 3d özelliğini kaybetti ve bir türlü düzeltemiyorum. Farklı bir ayarımı var, varsa nasıl, nerede?

İlk yaptığım hali böyleydi
EaxkCo.png


Kopyaladıktan sonra böyle oldu
EauwAh.png


Özür dilerim yazmayı unutmuşum.

d2007 kullanıyorum ve hiçbir skin componenti kullanmadım.

Bu konuyu yazdır

  Anket; Kaç Yaşındasınız? Delphi Kullanıcı Yaş Ortalaması
Yazar: pro_imaj - 12-10-2019, Saat: 22:01 - Forum: Muhabbet Olsun - Yorum Yok

Merhaba,

Delphi kodlayıcılarının genelde 40+ yaş üzerinde oldu görüşü hakim, anket sonucu ve bu konu başlığı ile anlamlı sonuçlara ulaşabiliriz.

*unigui tarafında Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. başlık altında güzel etkileşimler var.

Ben 36 yaşındayım 2001 yılında delphi ile tanıştım 2009 yılına kadar aktif proje geliştirdim. 2009'dan itibaren 9 yıl SAP/ABAP kodladım hala ABAP projeleri devam ediyor. 2017 yılında Delphi tarafında da tekrar proje geliştirmeye başladım.

Bu konuyu yazdır

  Yararlı Kütüphane için Fonksiyonlar
Yazar: 3ddark - 12-10-2019, Saat: 17:43 - Forum: İpuçları - Yorumlar (1)

Bilgisayardaki network kartlarının tanımlı olan mac adres bilgilerini liste halinde getirir.

//uses Winapi.Nb30 eklenmeli
function GetMACAddress: TStringList;
var
  AdapterList: TLanaEnum;
  NCB: TNCB;
  nIndex: integer;
begin
  Result := TStringList.Create;
  FillChar(NCB, SizeOf(NCB), 0);
  NCB.ncb_command := Char(NCBENUM);
  NCB.ncb_buffer := @AdapterList;
  NCB.ncb_length := SizeOf(AdapterList);
  Netbios(@NCB);
  if Byte(AdapterList.length) > 0 then
  begin
    for nIndex := 0 to Byte(AdapterList.length) - 1 do
    begin
      Result.Add(GetAdapterInfo(AdapterList.lana[nIndex]));
    end;
  end;
end;
Verilen dosyayı 
//verilen dosya adını byte array olarak sonuç veriyor.
function FileToByteArray(const FileName: WideString): TArray<Byte>;
const
 BLOCK_SIZE = 1024;
var
 BytesRead, BytesToWrite, Count: integer;
 F: file of Byte;
 pTemp: Pointer;
begin
 AssignFile(F, FileName);
 Reset(F);
 try
   Count := FileSize(F);
   SetLength(Result, Count);
   pTemp := @Result[0];
   BytesRead := BLOCK_SIZE;
   while (BytesRead = BLOCK_SIZE) do
   begin
     BytesToWrite := Min(Count, BLOCK_SIZE);
     BlockRead(F, pTemp^, BytesToWrite, BytesRead);
     pTemp := Pointer(LongInt(pTemp) + BLOCK_SIZE);
     Count := Count - BytesRead;
   end;
 finally
   CloseFile(F);
 end;
end;

//parametre olarak verilen byte array bilgiyi verilen dosyaya yazıyor.
procedure ByteArrayToFile(const ByteArray: TBytes; const FileName: string);
var
 Count: Integer;
 F: file of Byte;
 pTemp: Pointer;
begin
 AssignFile(F, FileName);
 Rewrite(F);
 try
   Count := Length(ByteArray);
   pTemp := @ByteArray[0];
   BlockWrite(F, pTemp^, Count);
 finally
   CloseFile(F);
 end;
end;

//CharInSet fonksiyonu gibi array içinde istenilen bilgi var mı kontrol ediyor. Birden fazla farklı veri tiplerine göre bilgilerde kontrol yapıyor.
function CheckIntegerInArray(pArr: ArrayInteger; pKey: Integer): Boolean;
var
  n1: Integer;
begin
  Result := False;
  for n1 := 0 to Length(pArr) - 1 do
  begin
    if pKey = pArr[n1] then
      Result := True;
    Exit;
  end;
end;

function CheckStringInArray(pArr: TArray<string>; pKey: string): Boolean;
var
  n1: Integer;
begin
  Result := False;
  for n1 := 0 to Length(pArr) - 1 do
  begin
    if pKey = pArr[n1] then
      Result := True;
    Exit;
  end;
end;

Dosyanın boyutunu veriyor
{$IFDEF MSWINDOWS}
function GetFileSize(pFileName: string): Int64;
var
 vSearchRec: TSearchRec;
begin
{$WARN SYMBOL_PLATFORM OFF}
 //SearchRec.Size property works, but only for files less than 2GB
 if FindFirst(pFileName, faAnyFile, vSearchRec) = 0 then
   Result := Int64(vSearchRec.FindData.nFileSizeHigh) shl Int64(32) + Int64(vSearchRec.FindData.nFileSizeLow)
 else
   Result := 0;
 FindClose(vSearchRec);
{$WARN SYMBOL_PLATFORM ON}
end;
{$ENDIF MSWINDOWS}

string içinde hangi karakterden kaç tane olduğunu söylüyor
Bu fonksiyon string helper içinde CountOfChar olarak tanımlı ama eski sürümlerde bu bilgi yok bu nedenle bunları da paylaşıyorum.
function CountOfChar(pSrc: string; pDelimiter: Char): Integer;
var
  n1: Integer;
begin
  Result := 0;
  for n1 := Low(pSrc) to High(pSrc) do
    if pSrc[n1] = pDelimiter then
      Inc(Result);
end;

Verilen bilgiyi girilen anahtar ile şifreler. Şifre anahtar değeri (0-65535 aralığında) ile bilgiyi şifrelemek için kullanılır. TC Kimlik No bilgisini şifrelemek için
Tam tersi şifreli bilgiyi çözmek için şifreli bilgiyi, öncesinde kullanılan şifreleme anahtarı gönderip normal bilgiye ulaşabiliriz.
EncryptStr('30850331144', 14257); //Sonuç: 040EF0D744DA01BA36DAE5
DeCryptStr('040EF0D744DA01BA36DAE5', 14257); //Sonuç: 30850331144
function EncryptStr(const S: WideString; Key: Word): string;
var
 n1: Integer;
 vRStr: RawByteString;
 vRStrB: TBytes absolute vRStr;
begin
 Result := '';
 vRStr := UTF8Encode(S);
 for n1 := 0 to Length(vRStr) - 1 do
 begin
   vRStrB[n1] := vRStrB[n1] xor (Key shr 8);
   Key := (vRStrB[n1] + Key) * CKEY1 + CKEY2;
 end;

 for n1 := 0 to Length(vRStr) - 1 do
   Result := Result + IntToHex(vRStrB[n1], 2);
end;

function DecryptStr(const S: string; Key: Word): string;
var
 n1, vTmpKey: Integer;
 vRStr: RawByteString;
 vRStrB: TBytes absolute vRStr;
 vTmpStr: string;
begin
 vTmpStr := UpperCase(S);
 SetLength(vRStr, Length(vTmpStr) div 2);
 n1 := 1;
 try
   while (n1 < Length(vTmpStr)) do
   begin
     vRStrB[n1 div 2] := StrToInt('$' + vTmpStr[n1] + vTmpStr[n1 + 1]);
     Inc(n1, 2);
   end;
 except
   Result := '';
   Exit;
 end;

 for n1 := 0 to Length(vRStr) - 1 do
 begin
   vTmpKey := vRStrB[n1];
   vRStrB[n1] := vRStrB[n1] xor (Key shr 8);
   Key := (vTmpKey + Key) * CKEY1 + CKEY2;
 end;

 Result := UTF8ToString(vRStr);
end;

//Color dialog penceresi varsayılan renk ataması yapıyoruz.
function GetDialogColor(pColor: TColor = 0): TColor;
var
 vColorDialog: TColorDialog;
begin
 vColorDialog := TColorDialog.Create(nil);
 try
   vColorDialog.Color := pColor;
   vColorDialog.Execute(Application.Handle);
   Result := vColorDialog.Color;
 finally
   vColorDialog.Free;
 end;
end;

//klasör seçtirme dialog u seçilen klasörün yolunu veriyor.
{$WARN SYMBOL_PLATFORM OFF}
function GetDialogDirectory(pInitialDir: string): string;
var
 OpenDialog: TFileOpenDialog;
begin

 OpenDialog := TFileOpenDialog.Create(nil);
 try
   if pInitialDir = '' then
     OpenDialog.DefaultFolder := '%USERPROFILE%\desktop'
   else
     OpenDialog.DefaultFolder := pInitialDir;

   OpenDialog.Title := 'Select Directory';
   OpenDialog.Options := [fdoPickFolders, fdoPathMustExist, fdoForceFileSystem]; // YMMV
   OpenDialog.OkButtonLabel := 'Select';

   if OpenDialog.Execute then
     Result := OpenDialog.FileName;
 finally
   OpenDialog.Free;
 end
end;
{$WARN SYMBOL_PLATFORM ON}

Kendi işlerimde kullandığım fonksiyonları paylaşıyorum.

Bu konuyu yazdır

  IDE kapanma hatası
Yazar: serdar - 12-10-2019, Saat: 12:58 - Forum: Genel Programlama - Yorumlar (8)

Merhaba arkadaşlar
10.3.2 lisanslı ide kullanıyorum. son 10 gundur IDE kapattiktan sonra aşagıdaki hatayı alıyorum.
Aynı sorunu yaşayan yada çözümünü bilen varmıdır.



Ek Dosyalar Ekran Görüntüleri
   
Bu konuyu yazdır

  FireMonkey ile Modern Arayüz Tasarımı Webinarı (Web Semineri)
Yazar: Abdullah ILGAZ - 12-10-2019, Saat: 01:10 - Forum: Embarcadero Görsel Eğitimleri - Yorumlar (1)

Herkese Merhaba,

Embarcadero tarafından yayınlanacak olan ve Ekim 2019 içerisinde çevrimiçi olarak gerçekleştireceğimiz ve sizlere FireMonkey ile Modern Arayüz Tasarımı konusunda yapacağım anlatım, workshop ve soru-cevaptan oluşan web seminerine davetlisiniz.

Eğitim ilk olarak 1 saatlik anlatım ve workshop, akabinde soru-yanıt formatı ile ilerleyecektir. Etkinlik ilan tarihinden sonra buradan netleşen detayları sizlerle paylaşayacağım. 

Etkinlik boyunca aşina olduğumuz modern arayüzlerin ve kullanıcı deneyimlerinin bize sağladıkları üzerinde duracağız. Bir veya iki tane UI tasarımını UX prensiplerine bağlı olarak ve Responsive olması koşulu ile tamamlayacağız.

Etkinlik süresi boyunca görmek istediğiniz veya içerisinde olmasını istediğiniz özel bir konu var ise lütfen yorum olarak belirtiniz.

Görüşmek üzere!

Bu konuyu yazdır

  Kalıtılmış Formu Değişkende Tutarak Dinamik Create Etmek
Yazar: LastCoder - 11-10-2019, Saat: 12:09 - Forum: Genel Programlama - Yorumlar (6)

Arkadaşlar Merhaba;
Bir sorum olucak.Açıklamaya çalışayım.Ancak eğer yeterince açık olmazsa diye örnek bir küçük projeyide paylaşıyor olacağım.

Şimdi

1 Adet BaseList Formum var.
1 Adette BaseEdit Formum var.
      
Sonra bunlardan onlarca Form türeteceğim.

Örneğin 
BaseListten   CariList,KasaList,HesapHareketList,........ gibi gibi giden.
BaseEditten    CariEdit,KasaEdit,HesapHareketEdit,........ gibi gibi giden.

Şimdi türetmiş olduğum child bir form olan CariList üzerine aldığım bir butonun clickine aşağıda ki kodu yazarsam CariEdit formu create der ve gösteririm.

Kod:
Application.CreateForm(TFrmCariEditForm,FrmCariEditForm);
FrmCariEditForm.ShowModal;


Ancak bunun için her türettiğim XXXListForma bu kodu yazmam gerekir.

Oysa ben ata form olan BaseList Forma bir button koymalı ve onun clickine bir kod yazmalıyım.Sonra türettiğim form hangi alanla ilgili ListForm ise o alanla ilgili EditFormu açmalı,
bu türettiğim ListFormda yukarıdaki kodu tekrar tekrar yazmamalıyım.

Bunu şu şekilde çözmeye çalıştım.

BaseList Formda public blokta şöyle bir değişken tanımladım.

Kod:
  MyEditForm:TFrmBaseEditForm;


Sonra BaseList Formdaki EditFormu açtırmak istediğim butonun clcikine aşağıdaki kodu yazdım.

Kod:
Application.CreateForm(TFrmBaseEditForm,MyEditForm);
MyEditForm.ShowModal;

Sonrada türettiğim her ListFormda bu yukarıda tanımladığım MyEditForm değişkenini alakalı EditFormla set ediyorum.

Örnek CariList formda şu şekilde set ediyorum.

Kod:
 MyEditForm:=FrmCariEditForm;


Ancak bu atamaya rağmen CariList formdaki click eventindeki inherit cod CariEdit formu create etmek yerine BaseEdit formu create ediyor.
Aşağıdaki gibi.


M14RkM.png


Oysa olmaısnı istediğim görüntü aşağıdaki gibi:

QPGyQj.png



Hatalı kod yazdığımın farkındayım.Bu şekilde çalışmaması gayet doğal.Ancak bu yapmak istediğimi nasıl yapabilirm.
Yardımcı olacak arkadaşlara şimdiden teşekkürler....


Örnek Projeyide daha net olması açısından paylaşıyorum.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.



Ek Dosyalar
.zip   Project1.zip (Dosya Boyutu: 8,8 KB / İndirme Sayısı: 5)
Bu konuyu yazdır

  Eğitim İçerikleri Hazırlayanlara Teşekkür
Yazar: 3ddark - 10-10-2019, Saat: 14:49 - Forum: Muhabbet Olsun - Yorumlar (7)

Yazılı veya görsel eğitim hazırlayanlara buradan tekrar teşekkür etmek istedim. Allah razı olsun.

Nedenine gelince dün akşam Youtube üzerinde eğitim amaçlı video hazırlamak istedim fakat çooook meşakkatli ve yorucu olduğunu öğrendim.
O kadar yorucu oldu ki artık sıkıldım ve vaktim olmadığı için videolara düzenleme yapmadan direkt olarak yükledim.

Mikrofon aşırı derece cızırtı yaptığı için sessiz çekmek zorunda kaldım.

Buda linki
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Bu konuyu yazdır

  FMX Window Handle
Yazar: CesuR - 10-10-2019, Saat: 00:11 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (1)

Merhaba, Windows işletim sistemlerinde ilgili uygulamanın pencere handle numarası alıp ilgili uygulamaya ulaşabiliyorduk. Peki  Android sistemde bu yapı nasıl işliyor. Pencere yapısı nasıl sanırım farklı. Form üzerindeki nesnelere ulaşabiliyormuyuzl ?
Baştan belirtmek isterim amacım hack , trojen tarzı bir uygulama yazmak değil sistem işleyişini öğrenmektir. Örneğin açık olan bir uygulamanın veya üzerindeki buttonun captionını almak vs gibi

Bu konuyu yazdır

  Media Player Hatası
Yazar: ikurt07 - 09-10-2019, Saat: 11:36 - Forum: Genel Programlama - Yorum Yok

Delphi 10.3 Media Player de win32 de düzgün  çalışıyor ancak android te ses var görünyü yok
yardımcı olursanız sevinirim  Big Grin

Bu konuyu yazdır