SortierGUI

Die GUI hat drei Elemente, Eingabefeld, Ausgabefeld und Startbutton. Die Handles von Ein- und Ausgabefeld sind global gesetzt, damit die Callback-Funktion darauf zugreifen kann. Die Callback-Funktion wandelt ihrerseits den Eingabestring in eine Nummer mit Datentyp 'double' um und übergibt diese an die Funktion insertionSort. Die Rückgabe von insertionSort wird in wieder in einen String umgewandelt und in das Ausgabefeld gesetzt. Gibt der User keine Zahl oder eine Zahlenfolge gleich 0 ein, wird im Ausgabefeld eine Fehlermeldung zurückgegeben.

InsertionSort wurde hierbei willkürlich ausgewählt, es geht auch jede andere Sortierfunktion.

Skript
figureHandle=figure('name','SortierGUI','position',[(1024/2)-125 (768/2)-125 400 250],'numbertitle','off','menubar','none');

global ausgabe
global eingabe

ausgabe = uicontrol('Style','text','String','Hier kommt das Ergebnis','position',[20 250/2-50 200 30]);

eingabe = uicontrol('Style','edit','String','Hier Ziffernfolge eingeben...','position',[20 250/2+50 200 30]);

startbutton = uicontrol('Style','push','pos',[250 250/2 100 50],'String', 'sortieren','Callback','SortierCallback');
Die Callback Funktion.
Skript
function SortierCallback

global ausgabe
global eingabe

eingabestring=get(eingabe,'String');%Der String aus dem Eingabefeld wird ausgelesen
eingabefolge=str2num(eingabestring);%Umwandlung in Datentyp 'double'
if eingabefolge>0 %Enthält der String Buchstaben wird mit str2num immer eine leere Reihung zurück gegeben.
ausgabefolge=insertionSort(eingabefolge);%Aufruf der Sortierfunktion
ausgabestring=num2str(ausgabefolge);%Rückumwandlung
set(ausgabe,'String',ausgabestring);

else set(ausgabe,'String','ERROR: Keine Zahlenfolge ungleich 0 eingegeben');
%Die Fehlermeldung wird gesetzt
end
end