Hoşgeldin, Ziyaretçi |
Sitemizden yararlanabilmek için Kayıt olmalısınız.
|
|
|
[ÇÖ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 ?
|
|
|
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.
|
|
|
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ı.
|
|
|
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.
|
|
|
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ı ??
|
|
|
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')
|
|
|
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
|
|
|
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;
|
|
|
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
|
|
|
|