limelect
Members-
Content Count
835 -
Joined
-
Last visited
-
Days Won
1
Everything posted by limelect
-
@programmerdelphi2k trying your suggestion
-
@VandrovnikRunnig the program No oparation just openning the DATAbase
-
@VandrovnikFD has unidirectional i tried it allready when I activate it in the object inspector it gives an error
-
Number 4 in my description It is a ftBlob 4. leaving only one large record in the database, NO PROBLEM. Record size 61094574. If I leave 1 record NO PROBLEM. it has nothing to do with DB. Only the Delphi program This is what I think and I might be wrong Maybe you have something? I read the blob into a string then St := TStringStream.Create(s); AdvRichEditor.LoadFromStream(St); If the above works on any small record it is not the logic.
-
1. It will be too complex to split the data as it is text and pictures going into TAdvRichEditor 2. As seen from my explanation I clear all the records and left only with one record big one And this is OK. 3. I free all the connections and database as it will not have any effects and left with one record in-memory database that did not help. This supposes to have smaller program memory. It did not. 4. Once the program uses a large chunk of memory I am stacked with it. I made hundreds of professional programs making money out of them never had such behavior.
-
Tried to help Sorry
-
FMX uses // RTL System.UITypes, System.Classes, System.SysUtils, // FMX FMX.Memo, FMX.Types, FMX.Graphics, FMX.Controls.Model, FMX.Controls.Presentation; am I wrong?
-
Google search FMX RICHEDITE i found a few for example https://github.com/DelphiWorlds/KastriFree/blob/master/Controls/DW.RichEdit.pas
-
I have a text (it is a directory) I would like to find in a DB. My SQL which is OK FDQuery4.SQL.add('WHERE MainDirectory LIKE ''%' + jvDirectoryEdit1.Text + '%''' Now to the problem If my DB text is G:\Delphi Projects\image32_3.2.2\ and I am looking for G:\Delphi Projects\image32_3.2.2\ or G:\Delphi Projects\image32_3 My above statement finds it NO PROBLEM HOW EVER if my search is G:\Delphi Projects\image32_3.2.2\Examples\Layers101 My above line does NOT find it. What I also tried is using CHARINDEX which I may be did not use correctly So w.hat I am looking for is search text WITHIN my DB text Any idea thanks
-
@Lars Fosdal If I used the logic on SQL I had a memory problem I used the table to filter with the OR logic. For example I got 3 records out of 750. Using these records I did the SQL with SectionsId=FilesIndex' and this did it. For the time being. It seems that using tables (if you can) is better at least in my case.
-
First thanks to everybody. Especially @Lars Fosdal as I used his solution (INSTR) my main problem was SQL memory problems. I hope I fixed most of it. Now to my specific solution DataSource1.DataSet := ProjectsFDTable; RESET Grid. FDLocalSQL1.DataSets.Clear; FDQuery4.Close; FDQuery4.SQL.Clear; FilesFDTable.Filtered:=False; FilesFDTable.Filter:= '(MainDirectory LIKE ''%' + JvDirectoryEdit1.Text + '%'') OR INSTR(''' + JvDirectoryEdit1.Text + ''', MainDirectory) > 0' ; FilesFDTable.Filtered:=True; FDLocalSQL1.DataSets.Add(FilesFDTable); FDLocalSQL1.Active := True; ProjectsFDTable.LocalSQL:=FDLocalSQL1; << otherwise I had problems FDQuery4.SQL.add('Select SectionsId,MainDirectory,MyDateTime,ProjectName,ProjectrealName,Category,FileMask ,Description,FilesIndex'); FDQuery4.SQL.add('from FilesFDTable,Projects'); FDQuery4.SQL.add(' WHERE SectionsId=FilesIndex'); FDQuery4.Open;<< use Query on the grid DataSource1.DataSet := FDQuery4; 1. I added LocalSQL to my ProjectsFDTable; 2. I filter my file table. (NO memory problem) as per @Lars Fosdal suggestion with OR 3. I added to my LocalSQL FDLocalSQL1.DataSets.Add(FilesFDTable); after filtering 4. I query FDQuery4.SQL.add('from FilesFDTable,Projects'); Now no memory problems OR until the next problem on a large software. And thanks again
-
@haentschman can you plz try on my demo? the zip is in this communication. Otherwise, I am too tired of trying solutions. 1 solution too many
-
@haentschman put it in my demo and checked it in 3 lines to change that it
-
@haentschman why don't you guys try this on my demo?? does not work FDQuery1.SQL.Text := 'select * from Files where MainDirectory LIKE :Code'; FDQuery1.ParamByName('code').AsString := '%G:\Delphi Projects\DelphiArea\DelphiComponenets\simplegraphxx%'; FDQuery1.Open; PLZ stop guessing
-
@haentschman I do not see how it applies to my case furthermore doing too much with SQL in my a[pplication have a lot of memory problems. My solution, for the time being, is to split LIKE and Lars Fosdal sugestion INSTR I could not use the statement FDQuery1.SQL.add('WHERE (MainDirectory LIKE ''%' + Edit1.Text + '%'') OR INSTR(''' + Edit1.Text + ''', MainDirectory) > 0' ); As it gives me memory problems.
-
Error I put a zip test do not guess
-
@tgbs There is a test source (zip)very simple to change in the source did you try it?
-
For the time being, I will give the user a choice like or INSTR which will solve my memory problem. Until I will come up with a different coise
-
no, since it gives me other problems.
-
@Attila Kovacs Well thanks but you still use not nice words. P.S did you start with D1 like me? And much much before.
-
Well, it returns me to my original problem OUT OF MEMORY. I made a crazy software. In any case, you helped a lot.Thanks
-
@Lars Fosdal BIG BIG THANKS FDQuery1.SQL.add('WHERE (MainDirectory LIKE ''%' + Edit1.Text + '%'') OR INSTR(''' + Edit1.Text + ''', MainDirectory) > 0' ); I will check it on the real software
-
Delete some chare and it WII NOT find part of the text The Like finds if you delete some char INTR find if you add char maybe i will try to OR both
-
Maybe I will clarify my problem I add the base directory to the database. But this directory has many subdirectories and if one searches for a subdirectory he still needs to find the main directory. This is why my search is like that. Do you think there is another way to solve the problem?
-
yes just add a few characters to the text and it will not find the item (a record) and this is what I want or delete some text and it will find see my first writings WITHIN my DB text