From 806dc65674a3dcd813f4689b75b218485cc9a902 Mon Sep 17 00:00:00 2001 From: Gwyn Date: Mon, 16 Feb 2026 16:14:59 -0500 Subject: [PATCH] getbom.c --- getBom.c | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 getBom.c diff --git a/getBom.c b/getBom.c new file mode 100644 index 0000000..c13822d --- /dev/null +++ b/getBom.c @@ -0,0 +1,120 @@ +#include +#include +#include + +int main(void) { + char* pass; + if (OpenClipboard(NULL)) { + HANDLE hClipboardData = GetClipboardData(CF_TEXT); + if (hClipboardData != NULL) { + char *clipboardText = GlobalLock(hClipboardData); + if (clipboardText != NULL) { + char* ptr = clipboardText; + int i = 0; + char result[strlen(ptr)]; + int pos = 0; + while (*ptr != '\0') { + switch (i){ + case 0: //Collect cat till newline + if (*ptr == '\n'){ + result[pos] = '\t'; + pos++; + ptr++; + i++; + break; + } + else if(*ptr == '\r'){ + ptr++; + break; + } + else { + result[pos] = *ptr; + pos++; + ptr++; + break; + } + case 1: // Collect Desc + if (*ptr == '\n'){ + result[pos] = '\t'; + pos++; + ptr++; + i++; + break; + } + else if(*ptr == '\r'){ + ptr++; + break; + } + else { + result[pos] = *ptr; + pos++; + ptr++; + break; + } + case 6: //Collect QTY + if (*ptr == '\n'){ + result[pos] = *ptr; + pos++; + ptr++; + i++; + break; + } + else if(*ptr == '\r'){ + ptr++; + break; + } + else { + result[pos] = *ptr; + pos++; + ptr++; + break; + } + case 7: //End of Tool line + if (*ptr == '\n'){ + ptr++; + i = 0; + break; + } + else{ + ptr++; + break; + } + default: + if (*ptr == '\n'){ + ptr++; + i++; + break; + } + else{ + ptr++; + break; + } + } + } + result[pos] = '\0'; // End the string + GlobalUnlock(hClipboardData); + const char *Newclip = result; + HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, strlen(Newclip)+1); + if (hMem != NULL) { + char *memText = GlobalLock(hMem); + strcpy(memText, Newclip); + GlobalUnlock(hMem); + + if (OpenClipboard(NULL)) { + EmptyClipboard(); + SetClipboardData(CF_TEXT, hMem); + CloseClipboard(); + printf("%s", Newclip); + } else { + printf("Failed to open clipboard for writing.\n"); + GlobalFree(hMem); + } + } else { + printf("Failed to allocate memory for clipboard text.\n"); + } + } + } + CloseClipboard(); + } + return 0; +}