Skip to content

Instantly share code, notes, and snippets.

View mookwi's full-sized avatar

Carsten mookwi

  • Germany
View GitHub Profile
@mookwi
mookwi / Roller.pas
Created October 25, 2022 11:03
Text Roller #Text #move
Unit Roller;
{$G+}
Interface
Procedure ScrollLeft (X, Y, L, H : Word);
{ ‘¤¢¨£ ¥â ¨§®¡à ¦¥­¨¥ ¢ ¯àאַ㣮«ì­¨ª¥ ¢«¥¢® ­  â®çªã 横«¨ç¥áª¨;  /á }
Procedure ScrollRight (X, Y, L, H : Word);
{ ‘¤¢¨£ ¥â ¨§®¡à ¦¥­¨¥ ¢ ¯àאַ㣮«ì­¨ª¥ ¢¯à ¢® ­  â®çªã 横«¨ç¥áª¨;  /á }
@mookwi
mookwi / StringGrid_to_XLSX.pas
Created October 9, 2022 12:44
StringGrid als XLSX speichern #StringGrid
{ ------------------------------------------------------
StringGrid als Excel Tabelle speichern (Hilfsfunktion)
------------------------------------------------------}
function RefToCell(ARow, ACol: Integer): string;
begin
Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
end;
{ --------------------------------------
StringGrid als Excel Tabelle speichern
@mookwi
mookwi / StringGrid_from_to_CSV.pas
Last active October 17, 2022 11:30
StringGrid als CSV speichern und Laden #StringGrid
{ Folgende Prozeduren speichern bzw. laden den Inhalt eines TStringGrid-Objekts.Das Vorgehen ist dabei folgendes: Mithilfe von StringList wird eine Textdatei angelegt, die in den ersten beiden Zeilen die Zeilenzahl (RowCount) und die Spaltenzahl (ColCount) beinhalten. Anschließend werden in einer Schleife alle Zeilen des StringGrids ausgelesen und in die Textdatei geschrieben. Beim Auslesen wird die Funktion Rows[i].CommaText verwendet, die den kompletten Zeileninhalt als einen String zurückgibt, in dem die einzelnen Spalten durch Komma getrennt sind.Prozedur zum Speichern (Parameter: Name des StringGrids und Name der Datei, in der der Inhalt gespeichert werden soll):}
{ -------------------------------------------------------------------
StringGrid als CSV sichern beim Klick auf den Button
-------------------------------------------------------------------
Angelegt: 10.10.2022
Author: Carsten
Geändert:
Hinweis: Die CSV wird nur in den Download-Ordner des aktuellen
@mookwi
mookwi / Feiertage.pas
Last active October 8, 2022 18:06
Feiertage Berechnen #Ostern #Feiertage
{ ----------------------------------------------------------------------------
Berechnung des Ostersonntags (und damit das Datum vieler anderer beweglichen
Feiertage) eines bestimmten Jahres berechnen kann. Ostern ist der 1. Sonntag
nach dem 1. Frühjahrsvollmond und kann deshalb frühestens am 22.3. eines
Jahres sein.
----------------------------------------------------------------------------
Aufruf: Ostern(JJJJ)
Ergebnis: Genaues Datum des Ostersonntag
------------------------------------------------------------------------------}
function Ostern(AYear: Word): TDate;
@mookwi
mookwi / CountFiles.pas
Last active October 20, 2022 14:33
Dateien eines Verzeichnisses zählen #FileCount
function GetFilesCount(Folder, WildCard: string): Integer;
var
intFound: Integer;
SearchRec: TSearchRec;
begin
Result := 0;
if (Folder <> '') and (Folder[Length(Folder)] <> '\') then
Folder := Folder + '\';
intFound := FindFirst(Folder + WildCard, faAnyFile, SearchRec);
while (intFound = 0) do
@mookwi
mookwi / FileUnzip.bas
Last active October 8, 2022 18:00
Datei(en) aus einer ZIP entpacken #ZIP
' Unzipping is a much easier process and only requires the files to be copied from the zip file into the folder.
Sub UnzipAFile(zippedFileFullName As Variant, unzipToPath As Variant)
Dim ShellApp As Object
'Copy the files & folders from the zip into a folder
Set ShellApp = CreateObject("Shell.Application")
ShellApp.Namespace(unzipToPath).CopyHere ShellApp.Namespace(zippedFileFullName).items
@mookwi
mookwi / CreateZip.bas
Last active October 8, 2022 18:00
Datei(en) in eine ZIP packen #ZIP
' Create a zip file from a folder
' This procedure has only a few steps:
' Create an empty zip file
' Copy the files from the folder into the zip file
' Wait for all the zip files to stop compressing
Sub CreateZipFile(folderToZipPath As Variant, zippedFileFullName As Variant)
Dim ShellApp As Object
@mookwi
mookwi / FileAttribute.bas
Last active October 8, 2022 18:02
Datei Attribute erhalten #File
Sub GetFileAttributes()
Dim myFile As String
myFile = "C:\Users\marks\Documents\Folder\ReadOnlyFile.xlsx"
'If the file is Read-Only, display message box
If (GetAttr(myFile) And vbReadOnly) <> 0 Then
MsgBox "The file is Read only"
@mookwi
mookwi / KillFile.bas
Last active October 8, 2022 18:01
Datei löschen #File
' The following code deletes a specific file.
Sub DeleteSpecificFile()
'Delete a specific file
Kill "C:\Users\marks\Documents\Folder\DeleteMe.xlsx"
End Sub
' The code below deletes files using a wildcard. In this circumstance, it deletes all files with a .xlsx file extension.
@mookwi
mookwi / CopyFile.bas
Last active October 8, 2022 18:01
Datei kopieren #File
Sub CopyAFile()
'Copy a file
FileCopy "C:\Users\marks\Documents\Folder\Original File.xlsx", _
"C:\Users\marks\Documents\New Folder\Copied File.xlsx"
End Sub