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: 3.945
» Son Üye: betulakbayakinci
» Toplam Konular: 6.724
» Toplam Yorumlar: 52.043

Detaylı İstatistikler

Son Aktiviteler
Logo Go3 de döviz tablosu...
Forum: Genel Programlama
Son Yorum:

hi_selamlar
8 saat önce
» Yorumlar: 3
» Okunma: 54
Santorini
Forum: Delphi Sürümleri
Son Yorum:

nguzeller
9 saat önce
» Yorumlar: 9
» Okunma: 804
delphi 10.4
Forum: Genel Programlama
Son Yorum:

deutsch1988
Dün, Saat: 11:46
» Yorumlar: 0
» Okunma: 59
Uzak Sunucuya (Server) Lo...
Forum: MS SQL Server
Son Yorum:

rmzgenius
Dün, Saat: 08:42
» Yorumlar: 6
» Okunma: 215
AdoQuery ile ilgili bir s...
Forum: Genel Programlama
Son Yorum:

Bay_Y
17-04-2024, Saat: 10:58
» Yorumlar: 4
» Okunma: 111
delphi xe de hazırlanmış ...
Forum: İnsan Kaynakları ve Pazarlama
Son Yorum:

toedayazilim
16-04-2024, Saat: 16:02
» Yorumlar: 2
» Okunma: 545
Takım Arkadaşı Arıyoruz
Forum: İnsan Kaynakları ve Pazarlama
Son Yorum:

toedayazilim
16-04-2024, Saat: 15:59
» Yorumlar: 1
» Okunma: 239
HEX cheksumma
Forum: Genel Programlama
Son Yorum:

deutsch1988
15-04-2024, Saat: 03:40
» Yorumlar: 2
» Okunma: 152
Klasör İçindeki Resimleri...
Forum: Genel Programlama
Son Yorum:

sadoal351
13-04-2024, Saat: 22:40
» Yorumlar: 5
» Okunma: 360
TMS Web Core - Database
Forum: Delphi ile Web Teknolojileri
Son Yorum:

erol.micset
13-04-2024, Saat: 08:12
» Yorumlar: 6
» Okunma: 817

 
  [ÇÖZÜLDÜ] SQLite - Record Count Sorunu ?
Yazar: Mr.Developer - 15-03-2019, Saat: 21:07 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (7)

iyi akşamlar,

Mobil uygulama da SQLite kullanıyorum ve bir sorunla karşılaştım ;

UniDac Kullandığımı belirteyim.

SQLite' da herşey iyi hoşken, bir tablodaki toplam veri sayısını almak istedim fakat sorun burda oluştu.
25 ve altı bir sayı da veri varsa sorunsuz doğru veriyor sayıyı ama 25 üzeri ise örneğin 60 satır ( adet ) veriyi nedense 25 olarak gösteriyor.
bunun sebebini çok mantıksız buldum ve neden olduğu konusunda hiçbir fikrim yok.

Bu konu da fikri olan var mı acaba ?

Bu konuyu yazdır

  Android Form Close Sorunu
Yazar: barox - 15-03-2019, Saat: 19:15 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (3)

Selamlar

Bir uygulamam var 3 formdan olusmakta. 2 form Application.Create asamasında create olmakta fakat 3. formum Available form olarak sectim ayarlardan onu
Asagidaki gibi ben create ediyorum. Ben 3. Formu kapattıgım zaman 2. form tekrar ekrana geldiğinde GridLayout icindeki 3 Speedbutton dan üst satırda olan speedbutton lar click olmuyor asagidaki 2. satırdaki speedbutton click olabiliyor. Bu sorunu bir sürü sey denememe ragmen çözemedim. Daha önce basına gelmis olan varsa bir yol gösterirse cok mutlu olurum.

Form Yarattıgım satır.

Form3 := Tform3.Create(self) // burda nil de denedim ayrıca Application.CreateForm da kullandım sonuc değişmedi
Form3.show 

ile baslatıyorum.

Close;


ile kapatıyorum OnClose event ta Action 'i caFree olarak set ediyorum. Fakat yukarıda söylediğim problem olmakta.

Bu konuyu yazdır

  Uzak Masaüstü
Yazar: barox - 15-03-2019, Saat: 02:38 - Forum: Genel Programlama - Yorumlar (6)

Selamlar

ActiveX paketi olarak mstscax i ekledim. Bir endpoint hatası verdi compile olmuyordu onuda POleVariant olan değerini OleVariant olarak değiştirdim bu sefer hata vermeden compile oldu ve Toolbox ıma VCL component olarak sorunsuzca eklendi lakin . Ordaki bütün componentleri denememe ragmen bir türlü RDP server larıma baglanamadım uygulama icerisinden hatada vermiyor baglanmıyorda.

Bu konuda daha önce bu sorunla karsılasmıs birisi varsa yardım edebilirse sevinirim.

MsRdpClient21.Server := 'XX.XX.XX.XX';
MsRdpClient21.UserName := 'administrator';
MsRdpClient21.DesktopHeight := 600;
MsRdpClient21.DesktopWidth := 800;
MsRdpClient21.Connect();

Bu Clientleri 2 den 9 a kadar denedim NotForSafeScripting olanlarınıda denedim fakat sonuc aynı.

Bu konuyu yazdır

  Midas.dll hatası
Yazar: hakanharbeli - 14-03-2019, Saat: 17:42 - Forum: Genel Programlama - Yorumlar (6)

Merhaba,
Uygulamamı başka bir win10 pc'de çalıştırdım midas.dll hatası aldım. system32'ye de syswow64'e de midas.dll yi attım cmd'den aktifleştirdim. Fakat halen hata alıyorum böyle bir hata alan ya da çözüm önerisi olan var mı.
Şimdiden teşekkür ederim.

Bu konuyu yazdır

  cxDBTreeList
Yazar: delphi-x - 14-03-2019, Saat: 17:32 - Forum: Genel Programlama - Yorumlar (3)

CxDbTreeList kullanıyorum. Hiyerarşik yapıdan dolayı programın ilk açılışı ciddi olarak yavaşladı (500  kayıt var, 20 sn gibi bekliyor açılırken) Alanlar index li. SmartLoad modu var ancak bunu aktif edince bu sefer de item ların dragdrop özelliği bozuluyor, program kitleniyor.
Bir çözüm önerisi olan var mı ??

Bu konuyu yazdır

  MapView Comp Hatası
Yazar: mcuyan - 14-03-2019, Saat: 16:33 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (6)

Merhaba arkadaşlar.

Bir süredir Mapview'i kullanamaıyorum. Projemi Tokyo dan Rio ya geçirmiştim.. Sonra çalışmadığını görünce tekrardan tokyoya geçirdim. Fakat Google Api'den midir bilmiyorum. Harita formunu açar açmaz Ya access Violation hatası veriyor veya Direk uygulama kapanıyor.

Benim aklıma ilk; Google Map Api'sinde değişikliğe mi gitti acaba sorusu takıldı.. Konu hakkında bilgisi olan var mı? (Ben bedava kullandığımdan dolayı acaba bir limit var dı ve ben o limiti mi aştım da geliyor soru olarak Smile )

Bu konuyu yazdır

  MS SQL Server üzerinden Diskte bir tablonun varlığını kontrol eden fonksiyon
Yazar: adelphiforumz - 13-03-2019, Saat: 16:22 - Forum: MS SQL Server - Yorum Yok

Selamlar

MS SQL Server üzerinden disk üzerinde bir dosyanın var olup olmadığını döndüren fonksiyon

Fonksiyon oluşturma

Kod:
create FUNCTION [dbo].[UFN_FileExists](@path varchar(512))
RETURNS BIT
AS
BEGIN
    DECLARE @result INT
    EXEC master.dbo.xp_fileexist @path, @result OUTPUT
    RETURN cast(@result as bit)
END;


Kullanımı
Kod:
Select dbo.UFN_FileExists('C:\Test Deneme\a.txt')
yada
Select dbo.UFN_FileExists('\\Test Deneme\a.txt')

Bu konuyu yazdır

  MS SQL ile Merkez Bankası Döviz Kurları Alma
Yazar: adelphiforumz - 13-03-2019, Saat: 16:10 - Forum: MS SQL Server - Yorumlar (2)

Selamlar

Daha önceden bir arkadaşın gösterdiği yol üzerinden biraz değişiklik yaparak merkez bankasından direkt döviz kurlarını sql üzerinden alan bir yapı kurmuştum
işe yarar diye paylaşayım dedim.

SQL Tarafında gereken ayarlamalar

Kod:
Use master
go
   sp_configure 'show advanced options' , 1
go
   Reconfigure with Override
go
   sp_configure 'Ole Automation Procedures' , 1
go
   Reconfigure with Override
Go

Test olark önce bir dabase oluşturun
Sonra aşağıdaki İlgili tablonun oluşturulması için gerekli kodu çalıştırın
Kod:
Use Test
go
-- Döviz Kurlarının Yazılacağı Tablo oluşturuluyor
   if not exists (select * from sys.tables where name = N'DOVIZKURLARI' and type = 'U')
   begin
       Create table DOVIZKURLARI (Tarih date,
                                  CrossOrder Smallint,
                                  Kod NVarchar(5),
                                  CurrencyCode NVarchar(5),
                                  UNIT  varchar(50),
                                  Isim varchar(100),
                                  CurrencyName varchar(100) ,
                                  ForexBuying float  ,
                                  ForexSelling float,
                                  BanknoteBuying float,
                                  BanknoteSelling float)
   end
Go

 Döviz Kurlarının Çekileceği Store Prosedure oluşturuluyor
Kod:
--  Döviz Kurlarının Çekileceği Store Prosedure oluşturuluyor
   if exists (select * from sys.objects where type = 'P' AND name = 'UPR_GetDovizKurlari_MerkezBankasi')
        drop procedure UPR_GetDovizKurlari_MerkezBankasi
go
   Create proc [dbo].[UPR_GetDovizKurlari_MerkezBankasi]
            (@pYil Smallint, @pAy TinyInt, @pGun TinyInt)
   As
   begin
       Declare @url as varchar(8000)
       /*
         Set @url = 'https://www.tcmb.gov.tr/kurlar/today.xml'
         Set @url = 'https://www.tcmb.gov.tr/kurlar/201903/12032019.xml'
       */

       Declare @XmlYilAy NVarchar(6), @XmlTarih NVarchar(10)
       Set @XmlYilAy =  Right('0000' + cast(@pYil as varchar(4)) , 4) + Right('00' + cast(@pAy as varchar(2)) , 2)
       Set @XmlTarih =  Right('00' + cast(@pGun as varchar(2)) , 2) + Right('00' + cast(@pAy as varchar(2)) , 2) + Right('0000' + cast(@pYil as varchar(4)) , 4)

       If DateFromParts(@pYil, @pAy, @pGun) = DateAdd(dd,0,DateDiff(dd,0,GetDate())) --gelen parametrelergünün tarihi ise
           Set @url =  'https://www.tcmb.gov.tr/kurlar/today.xml'
       else
           Set @url =  'https://www.tcmb.gov.tr/kurlar/' + @XmlYilAy + '/' + @XmlTarih + '.xml'
       Print @url

       declare @OBJ AS INT
       declare @RESULT AS INT
       EXEC @RESULT = SP_OACREATE 'MSXML2.XMLHTTP', @OBJ OUT
       EXEC @RESULT = SP_OAMethod @OBJ , 'open' , null , 'GET', @url, false
       EXEC @RESULT = SP_OAMethod @OBJ, send, NULL,''
       
        If OBJECT_ID('tempdb..#XML') IS NOT Null DROP TABLE #XML

       Create table #XML ( STRXML varchar(max))
       Insert INTO #XML(STRXML) EXEC @RESULT = SP_OAGetProperty @OBJ, 'responseXML.xml'
       
       --Select * From #XML

       DECLARE @XML AS XML
       SELECT @XML = STRXML FROM #XML
       DROP TABLE #XML
       DECLARE @HDOC AS INT
       EXEC SP_XML_PREPAREDOCUMENT @HDOC OUTPUT , @XML
       
       Delete from DOVIZKURLARI where tarih = DateFromParts(@pYil, @pAy, @pGun)
       INSERT INTO DOVIZKURLARI ( Tarih,CrossOrder,Kod,CurrencyCode,UNIT,Isim,CurrencyName,ForexBuying,ForexSelling,BanknoteBuying,BanknoteSelling)
 
       SELECT DateFromParts(@pYil, @pAy, @pGun) As Tarih,
              * FROM OPENXML(@HDOC, 'Tarih_Date/Currency')
                       With (CrossOrder NVarchar(5), Kod Varchar(5),  CurrencyCode NVarchar(5),
                             Unit varchar(50) 'Unit',
                             Isim varchar(100)   'Isim',
                             CurrencyName varchar(100)   'CurrencyName',
                             ForexBuying float   'ForexBuying',
                             ForexSelling float 'ForexSelling',
                             BanknoteBuying float 'BanknoteBuying',
                             BanknoteSelling float 'BanknoteSelling'
                           )
   End
Go

Kullanım şekli
Kod:
   -- Kullanımı
   Exec UPR_GetDovizKurlari_MerkezBankasi @pYil = 2019, -- smallint
                                          @pAy = 3,  -- tinyint
                                          @pGun = 13  -- tinyint
go

Sonuç
Kod:
   -- Sonucu
   select * from DOVIZKURLARI Where Tarih = DateFromParts(2019, 3, 13)
Go  

Bu konuyu yazdır

  if else çokluğu
Yazar: Yeliz - 13-03-2019, Saat: 13:41 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (16)

Merhaba;


Lisviewde birden fazla ItemClickEx yöntemini kullanarak Lisviewdeki imagelerde değişiklik yapıyorum. if else seçeneği uzayıp gidecek.  


Örnek:
sec image tıklandığında sec imagede 0 nolu image varsa yerine 1 nolu image gelecek

arsiv image tıklandığında arsiv imagede 2 nolu image varsa yerine 3 nolu image gelecek gibi uzayıp gidiyor. Bu işlemin uzamaması için nasıl kısalta bilirim?


function TForm1.ClickRow(ImageName: String; ItemIndex, ImageNo: Integer): Integer;
begin
  if ImageNo = 0 then
  begin
    ImageNo := 1;
  end
  else
  begin
    ImageNo := 0;
  end;

  if ImageNo = 2 then
  begin
    ImageNo := 3;
  end
  else
  begin
    ImageNo := 2;
  end;
  Listt.Items[ItemIndex].Data[ImageName] := ImageNo;
end;


procedure TForm1.ListtItemClickEx(const Sender: TObject; ItemIndex: Integer; const LocalClickPos: TPointF; const ItemObject: TListItemDrawable);
var
  StrName: String;
begin
  if (ItemObject <> Nil) and (ItemIndex > -1) then
  begin
    StrName := ItemObject.Name;
    if StrName = 'Secli' then
    begin
      ClickRow(StrName, ItemIndex, Listt.Items[ItemIndex].Data[StrName].AsInteger);
    end;
   if StrName = 'Arsiv' then
    begin
      ClickRow(StrName, ItemIndex, Listt.Items[ItemIndex].Data[StrName].AsInteger);
    end;
  end;
end;

Bu konuyu yazdır

  Yuz tanima to el tanima
Yazar: arsl01 - 13-03-2019, Saat: 11:58 - Forum: Genel Programlama - Yorumlar (14)

Merhaba,
 projemde kullancagim el hareketlerini algilamak uzerine arastirma yapiyorum yuz tanima islemini yapan ornek buldum karsilastirma yapiyor ama neye gore nasil karsilastirma yaptigini cozemedim,
Bir diger ornekte ise el hareketini kare icine aliyor bu el hareketinin kareye alan kismini kaydedecegim bu yuz tanima projesine upload edecegim fakat yuz tanima sadece yuu taniyor el hareketine nasil odak yaparim nereye mudahale edebilirim sizlere sormak istedim.
tesekkurler


yuz tanima pass dosyasi:

unit umain;

interface

uses
 Windows, Messages, SysUtils, {$IfNDef VER130} Variants, {$EndIf} Classes, Graphics, Controls, Forms,
 Dialogs, ievision, Menus, imageenview, ieview, iemview, hyieutils,
 StdCtrls, ExtCtrls, CheckLst, iexBitmaps, hyiedefs, iesettings, iexLayers, iexRulers;

type
 TMainForm = class(TForm)
   ImageEnView1: TImageEnView;
   Panel1: TPanel;
   btnOpen: TButton;
   btnViewDB: TButton;
   procedure btnViewDBClick(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure btnOpenClick(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
 private
   { Private declarations }
   m_exePath: string;
   m_objectsFinder: TIEVisionObjectsFinder;
   m_faceRecognizer: TIEVisionFaceRecognizer;
   m_faces: TIEMultiBitmap;

   procedure LoadImage(const sFilename: string);
   procedure ExtractFaces();
   procedure AddFace(Rect: TIEVisionRect);
   procedure TrainDataset();
 public
   { Public declarations }
 end;

var
 MainForm: TMainForm;

implementation

uses
 ulabelface, usaving, uviewfaces, iexHelperFunctions, uIEVisionPath;

{$R *.DFM}
{$R ImageEnManifest.res}


const
 CLASSIFIERS: array [0..1] of AnsiString = (IEVC_FRONTAL_FACE_DEFAULT, IEVC_PROFILE_FACE);

 FACESFILENAME = 'faces.dat';
 LEARNFILENAME = 'learn.dat';


procedure TMainForm.FormCreate(Sender: TObject);
var
 sDLLPath: string;
 i: integer;
 classifier: AnsiString;
begin
 // Calling IEInitialize_ievision is NOT required if the IEVision DLL is located in the same folder as the EXE or on the system path
 // You need only call IEVisionAvailable which will automatically call IEInitialize_ievision
 sDLLPath := FindIEVisionDLLPath();
 if sDLLPath <> '' then
   IEInitialize_ievision(sDLLPath, False); // Initialize DLL in custom location

 if not IEVisionAvailable() then
 begin
   ShowMessage('This application requires the ievision.dll plug-in, v' + IEVC_EXPECTED_LIBRARY_VERSION +'. Please download it from http://www.imageen.com');
   Application.Terminate;
   exit;
 end;

 m_exePath := IncludeTrailingBackSlash(ExtractFilePath(Application.ExeName));

 m_faces := TIEMultiBitmap.Create();
 if FileExists(m_exePath + FACESFILENAME) then
   m_faces.LoadSnapshot(m_exePath + FACESFILENAME);

 // setup face detector(s)
 m_objectsFinder := IEVisionLib().createObjectsFinder();
 for i := 0 to High(CLASSIFIERS) do
 begin
   classifier := CLASSIFIERS[i];
   m_objectsFinder.addClassifier( PAnsiChar( classifier ), IEVisionLib.createCascadeClassifier( PAnsiChar( classifier )));
 end;

 m_objectsFinder.setDivisor(1);
 m_objectsFinder.setHaarScaleFactor(1.1);
 m_objectsFinder.setHaarMinNeighbors(5);
 m_objectsFinder.setHaarFlags(ievSCALE_IMAGE);
 m_objectsFinder.setEqualizeHistogram(false);
 m_objectsFinder.setHaarMinSize(IEVisionSize(30, 30));

 // setup face recognizer
 m_faceRecognizer := IEVisionLib().createFaceRecognizer();
 m_faceRecognizer.selectEigenFaceRecognizer();
 if FileExists(m_exePath + LEARNFILENAME) then
   m_faceRecognizer.load(PWideChar(WideString(m_exePath + LEARNFILENAME)));

end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Screen.Cursor := crHourglass;

 FormSaving := TFormSaving.Create( self );
 
 FormSaving.Show();
 Application.ProcessMessages();

 m_faces.SaveSnapshot(m_exePath + FACESFILENAME);
 m_faces.Free();

 m_faceRecognizer.save(PWideChar(WideString(m_exePath + LEARNFILENAME)));

 // Don't free FormSaving
end;


// Open image...
procedure TMainForm.btnOpenClick(Sender: TObject);
var
 sFilename: string;
begin
 sFilename := ImageEnView1.IO.ExecuteOpenDialog();
 ShowTempHourglass;
 if sFilename <> '' then
   LoadImage(sFilename);
end;


procedure TMainForm.LoadImage(const sFilename: string);
begin
 ImageEnView1.IO.LoadFromFile(sFilename);
 ImageEnView1.Fit();
 ImageEnView1.LayersClear( False );
 ExtractFaces();
end;


procedure TMainForm.ExtractFaces();
var
 i: integer;
 rects: TIEVisionVectorRect;
begin
 ShowTempHourglass;

 ImageEnView1.LayersClear( False );

 // detect objects
 m_objectsFinder.findIn(ImageEnView1.IEBitmap.GetIEVisionImage());

 // merge intersecting rectangles of all searched objects
 rects := m_objectsFinder.mergeAllRects();

 // loop among rectangles
 for i := 0 to rects.size - 1 do
 begin
   AddFace(rects.getRect(i));
   with rects.getRect(i) do
     ImageEnView1.LayersAdd( iesRectangle, Rect(x, y, x + width, y + height), clRed, 3 );
 end;



 {
 Or if using a TImageEnVect, you could code as follows:

 ImageEnVect1.RemoveAllObjects();

 ....

 // loop among rectangles
 for i := 0 to rects.size - 1 do
 begin
   AddFace(rects.getRect(i));
   ImageEnVect1.ObjPenWidth[-1] := 2;
   with rects.getRect(i) do
     ImageEnVect1.AddNewObject(iekBOX, Rect(x, y, x + width, y + height), clRed);
 end;
 }

 // train
 TrainDataset();
end;


procedure TMainForm.AddFace(Rect: TIEVisionRect);
var
 i: Integer;
 confidence: Double;
 lbl: PWideChar;
begin
 FormLabelingFace := TFormLabelingFace.Create( self );
 try
   // assign detected face to the dialog that associates face with a label (name)
   FormLabelingFace.ImageEnView1.IEBitmap.AssignRect(ImageEnView1.IEBitmap, IEVisionRectToTRect(Rect));
   FormLabelingFace.ImageEnView1.Update();

   lbl := m_faceRecognizer.detect(FormLabelingFace.ImageEnView1.IEBitmap.GetIEVisionImage(), confidence);
   FormLabelingFace.EditFaceName.Text := string(lbl);
   FormLabelingFace.LabelConfidence.Caption := FloatToStr(confidence);

   if FormLabelingFace.ShowModal() = mrOK then
   begin
     i := m_faces.IndexOf( FormLabelingFace.ImageEnView1.IEBitmap );
     if i < 0 then      
       i := m_faces.AppendImage(FormLabelingFace.ImageEnView1.IEBitmap); // does not yet exist in database
     m_faces.ImageDictionary[i].Insert('Name', FormLabelingFace.EditFaceName.Text);
   end;
 finally
   FormLabelingFace.Free;
 end;
end;


function CompareName(i1, i2: Integer): Integer;
begin
 try
   Result := CompareText( FormViewFaces.ImageEnMView1.IEMBitmap.ImageDictionary[i1].GetString( 'Name' ),
                          FormViewFaces.ImageEnMView1.IEMBitmap.ImageDictionary[i2].GetString( 'Name' ));
 except
   // Unexpected failure
   result := 0;
 end;
end;

procedure TMainForm.btnViewDBClick(Sender: TObject);
begin
 ShowTempHourglass();
 FormViewFaces := TFormViewFaces.Create( Self );
 try
   FormViewFaces.ImageEnMView1.AssignEx( m_faces, True );
   FormViewFaces.ImageEnMView1.Sort( CompareName );
   FormViewFaces.ShowModal;
 finally
    FormViewFaces.Free;
 end;
end;


procedure TMainForm.TrainDataset();
var
 i: Integer;
begin
 m_faceRecognizer.clear();
 for i := 0 to m_faces.Count - 1 do
 begin
   m_faceRecognizer.addTrainImage(m_faces.GetTIEBitmap(i).GetIEVisionImage(),                // the image
                                  PWideChar(m_faces.ImageDictionary[i].GetString('Name')));  // the label
 end;
 m_faceRecognizer.train();
end;


end.


Yuz tanima kodu

Bu konuyu yazdır