topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday February 15, 2025, 11:31 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - KodeZwerg [ switch to compact view ]

Pages: prev1 ... 22 23 24 25 26 [27] 28 29next
651
N.A.N.Y. 2019 / Re: This is an entry for NANY 2019 - SCrypt
« on: July 17, 2018, 08:18 PM »
As Jibz say, I'm pretty direct ;)
That is absolutely okay to me. Better direct than writing dozens lines of lovely text with small real consumable feedback.
Take it for what it's meant to be - honest advice, not an attempt at saying you're stupid or that what you've made is worthless.
All is fine, no offend taken.
The best thing you can do with this NANY entry is to share the code.
I am sorry, this option is gone. While developing/learning MMX it was possible. When i published it here it was possible to get code. Now the Crypt-Algo is already bound to another Application. I try rebuild something similar to share as code not as binary. I am sorry!

I am pretty sure you have code anyway :-)

652
Since no one asked yet (i do first that before anything else)
What does Windows Event Log tell when running that Update/Booting Pc ?
If you do not know Event Log, Microsoft TechNet teach it.

653
Visual Basic with .Net support (code from Microsoft)
Module Example
   Public Sub Main()
      Dim envName As String = "AppDomain"
      Dim envValue As String = "True"

      ' Determine whether the environment variable exists.
      If Environment.GetEnvironmentVariable(envName) Is Nothing Then
         ' If it doesn't exist, create it.
         Environment.SetEnvironmentVariable(envName, envValue)
      End If

      Dim createAppDomain As Boolean
      Dim msg As Message
      If Boolean.TryParse(Environment.GetEnvironmentVariable(envName),
                          createAppDomain) AndAlso createAppDomain Then
         Dim domain As AppDomain = AppDomain.CreateDomain("Domain2")
         msg = CType(domain.CreateInstanceAndUnwrap(GetType(Example).Assembly.FullName,
                                                    "Message"), Message)
         msg.Display()                                                                           
      Else
         msg = New Message()
         msg.Display()   
      End If     
   End Sub
End Module

Public Class Message : Inherits MarshalByRefObject
   Public Sub Display()
      Console.WriteLine("Executing in domain {0}",
                        AppDomain.CurrentDomain.FriendlyName)
   End Sub
End Class


Visual Basic Script example
Set wshShell = CreateObject( "WScript.Shell" )
Set wshSystemEnv = wshShell.Environment( "SYSTEM" )
' Display the current value
WScript.Echo "TestSystem=" & wshSystemEnv( "TestSystem" )

' Set the environment variable
wshSystemEnv( "TestSystem" ) = "Test System"

' Display the result
WScript.Echo "TestSystem=" & wshSystemEnv( "TestSystem" )
' Delete the environment variable
wshSystemEnv.Remove( "TestSystem" )
' Display the result once more
WScript.Echo "TestSystem=" & wshSystemEnv( "TestSystem" )
Set wshSystemEnv = Nothing
Set wshShell     = Nothing

Does that answer your question?

My question would be, why using batch files while having developing software (in your case VB/VBS) ?

654
N.A.N.Y. 2019 / Re: This is an entry for NANY 2019 - SCrypt
« on: July 17, 2018, 04:17 AM »
Thank you Jibz, i've updated Post #1 to ensure everyone knows such information before anything bad happen.

Ps: It is custom algorithm.

655
N.A.N.Y. 2019 / Re: This is an entry for NANY 2019 - SCrypt
« on: July 16, 2018, 03:30 PM »
Whoa, thanks for trying out and give feedback.
For me it was educational to learn how MMX works. It does exact what i've written what it does.
My intention was not to create a fullprice Protection Suite.
For myself i've included it in my Apps that transmit something via Internet.
Your point "it can be broken" i just can silly argue "what cant be broken?".

If interested i can publish a not that fast version with Random output, also for "1000 times "a" in a file" with same passphrase encrypted, each time unique encrypted results are given. That is a bummer to decrypt without my App and seems to be very safe due each time you encrypt something the result is different. If thats what you like/need/want, i could split up an existing Application where i've included such feature already.

656
In my proto-Code i was wrong anyway  :o
What i've called BigList should be infact the smaller List = fastest performance.
And the "Result :=" Lines should be removed from all Procedures ^_^

657
Well, he wants to throw in a %match, so that wouldn't do it.
Now i've understood, thank you for explaining to me!
Here is theory on how to do that, simple range check.
- checker code
   function IsInRange(MinValue, MaxValue: double): Boolean;
   var
     Count: Integer;
   begin
     Result := False;
     for count := 0 to BigList.NumberOfItems -1 do
       if ((BigList.Items[Count].Value >= MinValue) or (BigList.Items[Count].Value <= MaxValue)) then
       begin
         Result := True;
         Exit;
       end;     
   end;

 - maincode
   for Count := 0 to Masterlist.NumberOfItems -1 do
   begin
     MinValue := Calculate( MasterList.Items[Count].Value -5% )
     MaxValue := Calculate( MasterList.Items[Count].Value +5% )
     if IsInRange(MinValue, MaxValue) then
       CompareListResults.AddNewItem := Count;
   end;
In that sample the MasterList should be the List with less Items than BigList.
I hope you now get an Idea on how to solve this.

Since its just proto-code, it give only first match from criteria MinValue and MaxValue back.

Edited this way it will grab all Matches from BigList
- checker code
   procedure SaveRanges(MinValue, MaxValue: double; var SavedList: TList);
   var
     Count: Integer;
   begin
     Result := False;
     for count := 0 to BigList.NumberOfItems -1 do
       if ((BigList.Items[Count].Value >= MinValue) or (BigList.Items[Count].Value <= MaxValue)) then
         SavedList.Items.Add( IntToStr(Count) );
   end;

 - maincode
   NewList := TList.Create();
   for Count := 0 to Masterlist.NumberOfItems -1 do
   begin
     MinValue := Calculate( MasterList.Items[Count].Value -5% )
     MaxValue := Calculate( MasterList.Items[Count].Value +5% )
     SaveRanges(MinValue, MaxValue, NewList);
   end;
This sample would hold all matches in NewList.


Edited this way it will grab all Matches from BigList and Save callers Index within
- checker code
   procedure SaveRanges(const MinValue: double; const MaxValue: double; const CallerIndex: Integer; var SavedList: TList);
   var
     Count: Integer;
   begin
     Result := False;
     for count := 0 to BigList.NumberOfItems -1 do
       if ((BigList.Items[Count].Value >= MinValue) or (BigList.Items[Count].Value <= MaxValue)) then
         SavedList.Items.Add( IntToStr(CallerIndex) + ' found match with ' + IntToStr(Count) );
   end;

 - maincode
   NewList := TList.Create();
   for Count := 0 to Masterlist.NumberOfItems -1 do
   begin
     MinValue := Calculate( MasterList.Items[Count].Value -5% )
     MaxValue := Calculate( MasterList.Items[Count].Value +5% )
     SaveRanges(MinValue, MaxValue, Count, NewList);
   end;
This sample would hold all matches in NewList, ready to use with matches display.

Ps: If you are confused of line "for Count := 0 to Masterlist.NumberOfItems -1 do", adjust this to your Language.
In Delphi Lists Index begin at "0" and NumberOfItems at "1". NumberOfItems "0" would mean Index "-1" (no item exist in List)

658
I dont know if i understood correct, if you want to know index positions of same values, heres a Delphi Snippet that does such, hope it helps.
Code: Delphi [Select]
  1. procedure TForm148.Button2Click(Sender: TObject);
  2. type
  3.   TIntArray = array of Integer;
  4.  
  5.   procedure CountOccurrences(const List1, List2: TStrings; var Result: TIntArray);
  6.   var
  7.     i, CurIndex: Integer;
  8.   begin
  9.     for i := 0 to List2.Count - 1 do
  10.     begin
  11.       CurIndex := List1.IndexOf(List2[i]);
  12.       if CurIndex >= 0 then
  13.         Result[CurIndex] := Succ(Result[CurIndex]);
  14.     end;
  15.   end;
  16.  
  17. var
  18.   TempList: TIntArray;
  19.   i: Integer;
  20. begin
  21.   SetLength(TempList, ListBox1.Items.Count);
  22.   CountOccurrences(ListBox1.Items, ListBox2.Items, TempList);
  23.   for i := Low(TempList) to High(TempList) do
  24.     ShowMessage(ListBox1.Items[i] + ': ' + IntToStr(TempList[i]));
  25.   SetLength(TempList, 0);
  26. end;

659
MySQL, PostgeSQL, Oracle and MS-SQL Server. The first two you can use without paying.
For Oracle you can get the XE (Express Edition). (Just to complete it)
FireBird SQL is OpenSource and well updated.
For business as general hint, read carefully disclaimer if it apply to your company and local laws.
And sorry if i misunderstood!

660
N.A.N.Y. 2016 / Re: ScreenshotCaptor (Link) in autostart
« on: June 27, 2018, 05:40 AM »
Your Windows Admin Account may differ from Logon Account.
A fix would be porting the HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

If you do not know how to do this mouser could create a small Registration-Fixer for this situation.

661
N.A.N.Y. 2016 / Re: ScreenshotCaptor (Link) in autostart
« on: June 26, 2018, 04:08 PM »
sorry need more german to clarify things
Nur um die System-Registrierung zu aktualisieren braucht es bei Windows 10 Admin-Rechte, das Programm arbeitet tadellos ohne Admin-Rechte. (rechtsklick auf das Programm-Symbol, dann "Als Administrator ausführen", in den Optionen alles anpassen, speichern, Programm beenden und normal/wie üblich ohne Rechte starten)

662
N.A.N.Y. 2016 / Re: ScreenshotCaptor (Link) in autostart
« on: June 26, 2018, 03:43 PM »
german explain on how to do things
Wenn Screenshot Captor (die aktuelle Version die man hier runterladen kann) in der Notification Area sein Icon abgelegt hat, rechtsklick auf das Icon, dann Preferences, da Konfiguriert man alles, gleich die erste Option ist für Autostart zuständig. Falls Dein Windows beim nächsten Boot den SC nicht lädt musst Du den SC mit Admin-Rechte starten, nochmal in Config das Autostart aktivieren, speichern und fertig. Ab nun lädt Dein Windows 10 auch den SC beim starten mit. Ich hoffe es hilft Dir und Dein Problem ist nun beseitigt. Ja die Hilfe Dateien beinhalten alte Bilder, darauf bin ich auch schon hereingefallen :-)

663
N.A.N.Y. 2016 / Re: ScreenshotCaptor (Link) in autostart
« on: June 26, 2018, 06:34 AM »
With latest build, go to options and check that: Screenshot - 26_06.jpg (you might need to run with adminrights since its writing to registry without aquiring some)

664
N.A.N.Y. 2016 / Re: ScreenshotCaptor (Link) in autostart
« on: June 26, 2018, 05:44 AM »
Latest Version integrate with System Registry, not by autostart link.

Cheers

Letzte Version integriert sich per System-Registrierung und legt keinen Link im Autostart an.

Gruß

(HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)

665
For Delphi Coders, best thing is using CCR Exif v1.5.1 library.
If you need an application with its features i can try build one for you.

666
You mean integrate calls to commandline tool "robocopy.exe"?
Hmm.... i could integrate an option to call external Tools with a checkbox to show console.
Option to add commandline parameter that sticks to external Tool would be neccessary aswell i guess.
If external app support %ErrorLevel% as Result i guess i could intgrate a check.

Okay, will respect it and add such option! (thanks god that i already switched to a single configuration dialog ;D)

edit
After re-reading this thread, i must admit the important information i havent understood at first time reading, now its clear! Sorry for that!
(I'd thought "I'd like to copy/move the file as safe as possible, so using Operating System native tools has my preference." = means use Api calls)

667
Forgot to tell, this link can list similar programs for way cheaper price or freeware.
To replace HnM the results arent good to the thing you want to do, but there you can enter any highprized product. Just as another suggestion you might concider to try out?

668
HnM got trial version to test, price always matters i know. You can do any job that needs "readable or printable content". For me, extra features like GitHub offers that many can edit and you can merge etc those stuff lead me to that program. I did not regret it. Payment also include Quality Central for direct support. Sorry if i misspelled something! And no i do not work for them so i stop advertise it  8)

669
I will respect any comment and wishes! Main Gui is now destroyed, i create a complete new one wich has
a) better structure
b) include a real configuration dialog where you setup your personal defaults

I might skip for now bad-sector reading to have a working sample finally ready and then re-work on everything.
Configuration for several copy methods (including my own) aint a challenge and as default it will run with native OS Apis, no problem.
I need to test a bit with native Api how good it can handle (super) hidden files.

Second thing what i cant tell yet if i am able to use Progressbar with Api.... need to figure such things out.
For "Full Progress" it isnt a problem since it just counts files down.

Middle next week a first public-working-demo-version should be avail. What i have tested so far work well. (each function tested solo in own apps)
Rule-Set is now a simple String-Grid with Add/Remove/Edit abilities, still not satisfy myself, i hate to design such things but i think after preview version is out i can redesign things that bother myself and respect every other following comment for it.

Later on my Todo list will follow "Profiles" to setup several jobs. Maby add bass.dll interface to let users play background music, but thats just gimmicks for very much later if at all.

Not a promise but at end, when everything works like it should be, i planned to transform everything to non-Vcl pure Api designed (.exe size will shrink down to 50-100kb)
PS: Vcl stands for Visual Component Library, its a part of Delphi. All visible content belongs to it (Controls)

670
I admit i havent read all  :(
but as my 2 Cents when it belongs to Writing "Help and Manual" is great authoring Software to write ..... Help and Manuals  :D
Surely not limited to that. Has many advanced features. My #1 when i write something that needs to be beauty.

671
I would appreciate feedback on its functionality.
micro-review:
The MousersMediaBrowser.exe could work a bit better with positioning and sizing.
Screenshot - 24_06.jpg as more i play with options as smaller both frames get.
Small bug: double click caption will confuse Windows 10, many own windows react very strange when i doubleclicked caption.
Can it be that you try to have some kind of own taskbar-thingy? (limit screen with your app running)
Caption itself is missing in maximized mode: Screenshot - 24_06 002.jpg (This is my Windows start position @ 0,0) i cannot access any menu anymore.

In Setup/Hotkey, i cannot define any "SHIFT"+Key combination. (example: SHIFT+A result in A)

Hope it helps.

672
If there are options to change attributes after copying, then those should apply, but otherwise, not preserving attributes (except the Archive bit) I'd probably report as a bug...
As this is supposed to be a copy/move tool, IMHO, it should be compatible with Windows, and keep the original timestamps like a normal copy would. Again, I'd report it as a bug if it didn't... despite the limited value of file timestamps.
Hello Ath, thank you for telling, i would like to explain how i do:
I do copy only files content (ie: i read in a stream and write that to target, it is a 1:1 copy of original content, realized with Delphi Filestream)
I will take your bugs and squish them by implementing more Copy Methods (Winapi: CopyFile; MoveFile; SHFileOperation), would that satisfy?
Since my method use Streams to read/write, original attributes and timestamp are lost with my own method, implemented checkboxes to set them back to original what cost performance (i need to touch everything twice), so i let user define. (by default all checkboxes are set to give most compatible target)

If you wonder why i use Streams for read/write, simple answer:
1. copy progress is faster than Winapi
2. i can react on bad-sectors, Winapi would fail, my method can atleast skip bad-parts (while let user decide what to do on read errors)
to clarify:
first i try using normal stream to read/write, on read errors i switch to hardware mode wich is like:
read file direct from partition, byte by byte and skipping bad. This feature is alpha phase, fragmentation is my enemy :-)
Different but related topic:
Have you thought about the Alternate Data Streams (ADS) that can be stored on the NTFS filesystem? (Available since Windows 2000) They should be copied/moved when the destination filesystem is also NTFS, and probably/optionally give a warning or not delete the source when moving, when ADS's are found. A simple "dir /r" in a cmd prompt will show any ADS's for files that have them (try that in your Downloads folder..., NirSoft's AlternateStreamViewer can show you their content)
My only experience with ADS is to remove them. Eg: Download a .exe file with InternetExplorer, when you try to run .exe your Windows is telling that file might be unsafe because its downloaded, my ADS-Remover would fix that situation, no more "file might unsafe" warnings, more experience i havent made yet! I will investigate your linked resource and see what i can do. Thank you!

My App is not intended to be a "Cloner" yet (additional NTFS Security Attributes, Windows GUIDs, other OS-Specific Information are not handled yet!)
For now it realy just do 1:1 content copies. My App handle "1:1 content, Standard-file attributes, Datetimestamp"

673
Awesome like what I see so far!!
Nice that you like it. Makes me happy!
This is to allow for future expansion as each folder/drive becomes too full.
The idea with my rule-set would be:
You set-up rules one time (as promised i include your set for example on how to)
The variable in this case is destination, for example:
Destination: \\192.168.1.203\
a file named "EEanything.123" is current task,
rule-set will identify that it belongs to "ef\EA-EN" folder on \\192.168.1.203\
if \\192.168.1.203\ changes to \\192.168.1.204\ it will use "ef\EA-EN" on it.
or any other sub-folder you enter at line "Destination" like "\\192.168.1.203\somewhere else\"
than file "EEanything.123" would land in "\\192.168.1.203\somewhere else\ef\EA-EN"

Source Folder-Names are not part of rule-set. Only Filenames. I might extend when filenames are done.
For now if "G:\Source\Eat me\a file.ext" would be found, rule-set should give "\\192.168.1.203\a\AA-AF" as destination path.

DANG!!!   even better have a button which READS the NAS and makes up a rule set depending on the actual shares/folders on the destination itself???
I have to think about this and its possibility to include such.

>>"which brings up another point...  if the actual destination folder names do NOT agree with the present rule set there should be a warning or a way to verify/check for ruleset NAS folder agreement."
ATM all what doesnt match with rule-set land in Destinations root or i skip them.... unsure but planned is that:
I will add later another Dialog showing all unmatched files to let user add either a rule or let you choose what to do. I havent really thought much yet about this because many main parts arent finished yet.

674
ASAP i upload my initial "one file copy demonstration" for testing purposes, i wait for a reply from administrator. (i have upload problems, Website timeout issue)

Right now i must start from scratch the copy process to a new UAC friendly version, about 70% done.
Then the main part starts, the Rule-Editor.... i have many design ideas, i must be sure that everything works well together, needs alot of checking, very critical part this is!

The final product should be a complete copy-station, with or without rules.
Thank you for answering but as you could see on snapshot i include every critical part per checkbox so user always have a bit control over what should be done in wich way.

If you miss more options, just tell and i try to add if possible.

edit
Fileexists Dialog will contain:
- Source Timestamp & Size
- Target Timestamp & Size
Combobox Options with
- Overwrite
- Overwrite older/newer
- Overwrite smaller/bigger
Checkbox
- Apply to all

675
Good point and sorry i had edited my last post wich neglate "The good part is this is a custom app for one person so there's not too much room to do harm.".
Now it will be an Application for everyone.

It makes no trouble to do "fileexists()" checks, but since its a custom-Copy (ie: i write data by myself) i know at any moment whats good and whats not.
For paranoids i can add Filehash checks (CRC16/CRC32/CRC64/MD4/MD5 shouldnt slow down progress much, depends on drivetempo/connection speed)

Heres a Preview of current main Gui Screenshot - 23_06 003.jpg now working on Rule-Set design

Short update: added UAC controlled "Begin" button with shield symbol. If running without admin-rights my program will ask to elevate. Screenshot - 23_06 005.jpg

More News: Due to UAC integration (not with Manifest, at runtime!) i have to redesign the whole copy process. Now main gui is shrinked and a new Window appear for file copy progress. Alot hidden stuff must be ported now to work with UAC correct, i am sorry!

Pages: prev1 ... 22 23 24 25 26 [27] 28 29next