<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hackerspace-bielefeld.de/index.php?action=history&amp;feed=atom&amp;title=World_of_Sweets</id>
	<title>World of Sweets - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hackerspace-bielefeld.de/index.php?action=history&amp;feed=atom&amp;title=World_of_Sweets"/>
	<link rel="alternate" type="text/html" href="https://wiki.hackerspace-bielefeld.de/index.php?title=World_of_Sweets&amp;action=history"/>
	<updated>2026-04-30T00:14:02Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Hackerspace Bielefeld Wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.hackerspace-bielefeld.de/index.php?title=World_of_Sweets&amp;diff=1788&amp;oldid=prev</id>
		<title>Hartmut am 22. April 2023 um 13:34 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackerspace-bielefeld.de/index.php?title=World_of_Sweets&amp;diff=1788&amp;oldid=prev"/>
		<updated>2023-04-22T13:34:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 22. April 2023, 13:34 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l92&quot;&gt;Zeile 92:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 92:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategorie:Organisation]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hartmut</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackerspace-bielefeld.de/index.php?title=World_of_Sweets&amp;diff=1574&amp;oldid=prev</id>
		<title>Papayawhip: Die Seite wurde neu angelegt: „=== WoS === Lieferant für Snacks  ==== Rechnungen parsen ==== Aus der Rechnung die Liste mit den Positionen kopieren, Script laufen lassen und Daten einfügen. Die Positionen sind dann als CSV verfügbar  ps1 script &lt;pre&gt; function Read-MultiLineInputBoxDialog([string]$Message, [string]$WindowTitle, [string]$DefaultText){     Add-Type -AssemblyName System.Drawing     Add-Type -AssemblyName System.Windows.Forms      # Create the Label.     $label = New-Obj…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackerspace-bielefeld.de/index.php?title=World_of_Sweets&amp;diff=1574&amp;oldid=prev"/>
		<updated>2022-12-04T09:10:43Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=== WoS === Lieferant für Snacks  ==== Rechnungen parsen ==== Aus der Rechnung die Liste mit den Positionen kopieren, Script laufen lassen und Daten einfügen. Die Positionen sind dann als CSV verfügbar  ps1 script &amp;lt;pre&amp;gt; function Read-MultiLineInputBoxDialog([string]$Message, [string]$WindowTitle, [string]$DefaultText){     Add-Type -AssemblyName System.Drawing     Add-Type -AssemblyName System.Windows.Forms      # Create the Label.     $label = New-Obj…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== WoS ===&lt;br /&gt;
Lieferant für Snacks&lt;br /&gt;
&lt;br /&gt;
==== Rechnungen parsen ====&lt;br /&gt;
Aus der Rechnung die Liste mit den Positionen kopieren, Script laufen lassen und Daten einfügen. Die Positionen sind dann als CSV verfügbar&lt;br /&gt;
&lt;br /&gt;
ps1 script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function Read-MultiLineInputBoxDialog([string]$Message, [string]$WindowTitle, [string]$DefaultText){&lt;br /&gt;
    Add-Type -AssemblyName System.Drawing&lt;br /&gt;
    Add-Type -AssemblyName System.Windows.Forms&lt;br /&gt;
&lt;br /&gt;
    # Create the Label.&lt;br /&gt;
    $label = New-Object System.Windows.Forms.Label&lt;br /&gt;
    $label.Location = New-Object System.Drawing.Size(10,10)&lt;br /&gt;
    $label.Size = New-Object System.Drawing.Size(280,20)&lt;br /&gt;
    $label.AutoSize = $true&lt;br /&gt;
    $label.Text = $Message&lt;br /&gt;
&lt;br /&gt;
    # Create the TextBox used to capture the user&amp;#039;s text.&lt;br /&gt;
    $textBox = New-Object System.Windows.Forms.TextBox&lt;br /&gt;
    $textBox.Location = New-Object System.Drawing.Size(10,40)&lt;br /&gt;
    $textBox.Size = New-Object System.Drawing.Size(575,200)&lt;br /&gt;
    $textBox.AcceptsReturn = $true&lt;br /&gt;
    $textBox.AcceptsTab = $false&lt;br /&gt;
    $textBox.Multiline = $true&lt;br /&gt;
    $textBox.ScrollBars = &amp;#039;Both&amp;#039;&lt;br /&gt;
    $textBox.Text = $DefaultText&lt;br /&gt;
&lt;br /&gt;
    # Create the OK button.&lt;br /&gt;
    $okButton = New-Object System.Windows.Forms.Button&lt;br /&gt;
    $okButton.Location = New-Object System.Drawing.Size(415,250)&lt;br /&gt;
    $okButton.Size = New-Object System.Drawing.Size(75,25)&lt;br /&gt;
    $okButton.Text = &amp;quot;OK&amp;quot;&lt;br /&gt;
    $okButton.Add_Click({ $form.Tag = $textBox.Text; $form.Close() })&lt;br /&gt;
&lt;br /&gt;
    # Create the Cancel button.&lt;br /&gt;
    $cancelButton = New-Object System.Windows.Forms.Button&lt;br /&gt;
    $cancelButton.Location = New-Object System.Drawing.Size(510,250)&lt;br /&gt;
    $cancelButton.Size = New-Object System.Drawing.Size(75,25)&lt;br /&gt;
    $cancelButton.Text = &amp;quot;Cancel&amp;quot;&lt;br /&gt;
    $cancelButton.Add_Click({ $form.Tag = $null; $form.Close() })&lt;br /&gt;
&lt;br /&gt;
    # Create the form.&lt;br /&gt;
    $form = New-Object System.Windows.Forms.Form&lt;br /&gt;
    $form.Text = $WindowTitle&lt;br /&gt;
    $form.Size = New-Object System.Drawing.Size(610,320)&lt;br /&gt;
    $form.FormBorderStyle = &amp;#039;FixedSingle&amp;#039;&lt;br /&gt;
    $form.StartPosition = &amp;quot;CenterScreen&amp;quot;&lt;br /&gt;
    $form.AutoSizeMode = &amp;#039;GrowAndShrink&amp;#039;&lt;br /&gt;
    $form.Topmost = $True&lt;br /&gt;
    $form.AcceptButton = $okButton&lt;br /&gt;
    $form.CancelButton = $cancelButton&lt;br /&gt;
    $form.ShowInTaskbar = $true&lt;br /&gt;
&lt;br /&gt;
    # Add all of the controls to the form.&lt;br /&gt;
    $form.Controls.Add($label)&lt;br /&gt;
    $form.Controls.Add($textBox)&lt;br /&gt;
    $form.Controls.Add($okButton)&lt;br /&gt;
    $form.Controls.Add($cancelButton)&lt;br /&gt;
&lt;br /&gt;
    # Initialize and show the form.&lt;br /&gt;
    $form.Add_Shown({$form.Activate()})&lt;br /&gt;
    $form.ShowDialog() &amp;gt; $null  # Trash the text of the button that was clicked.&lt;br /&gt;
&lt;br /&gt;
    # Return the text that the user entered.&lt;br /&gt;
    return $form.Tag&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$multiLineText = Read-MultiLineInputBoxDialog -Message &amp;quot;WoS Rechnung&amp;quot; -WindowTitle &amp;quot;Parser&amp;quot; -DefaultText &amp;quot;&amp;quot;&lt;br /&gt;
if ($multiLineText -eq $null) { &lt;br /&gt;
  Write-Host &amp;quot;Abbruch&amp;quot; &lt;br /&gt;
} else { &lt;br /&gt;
  &lt;br /&gt;
  $r = &amp;#039;([\d]+) ([\w\s\&amp;amp;-_üö×]+) ([\d]+) (7\.00|19\.00)% ([\d\,]+) € ([\d\,]+) €&amp;#039;&lt;br /&gt;
  $m = Select-String -AllMatches -Pattern $r -InputObject $multiLineText | ForEach-Object -MemberName Matches&lt;br /&gt;
&lt;br /&gt;
  [System.Collections.ArrayList]$out = @();&lt;br /&gt;
&lt;br /&gt;
  foreach($match in $m){&lt;br /&gt;
    $out.Add([pscustomobject]@{&lt;br /&gt;
        Name = $match.Groups[2].Value&lt;br /&gt;
        Menge = $match.Groups[3].Value&lt;br /&gt;
        EZP = $match.Groups[5].Value&lt;br /&gt;
        GP = $match.Groups[6].Value&lt;br /&gt;
  });&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  $out | ft&lt;br /&gt;
  $out | ConvertTo-Csv&lt;br /&gt;
   &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Papayawhip</name></author>
	</entry>
</feed>