%%Initialisierung
function varargout = daim(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @daim_OpeningFcn, ...
                   'gui_OutputFcn',  @daim_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end



function daim_OpeningFcn(hObject, eventdata, handles, varargin)

%fotovariable=imread('Pfenning.jpg');    % Foto einlesen
%handles.bild=image(fotovariable);
%set(gca,'XTick',[]);                           % Achsenbezeichnung - hier[] =keine Achsenbezeichnung
%set(gca,'YTick',[]);
%axis equal
%axis([0 800 120 500]);
set(handles.text1,'String','max. Fahrzeit');
set(handles.text2,'String','mittl. Fahrzeit');
set(handles.text3,'String','min. Fahrzeit');
set(handles.text4,'String','Anzahl Fahrten');
set(handles.text5,'String','befördertes Volumen in m³');
set(handles.Berechnung,'String','Berechnung starten');
set(handles.Zeiten_filtern,'String','Zeiten filtern');
set(handles.Tour_anzeigen,'String','Tour anzeigen');

handles.output = hObject;
guidata(hObject, handles);





function varargout = daim_OutputFcn(hObject, eventdata, handles) 

varargout{1} = handles.output;


function Berechnung_Callback(hObject, eventdata, handles)
global Fahrzeit txt mittel Anzahl

filename = uigetfile('*.xls');

[dummy1,dummy2,ext]=fileparts(filename);    %Überprüfung ob Dateiendung stimmt
if ~strcmpi(ext,'.xls')
  errordlg('Falsches Datei-Format')
  return
end

set(handles.Tour_anzeigen,'Enable','on');
set(handles.Zeiten_filtern,'Enable','on');

[nums, txt] = xlsread(filename);
%varNames    = char(txt(1,:));              %Bestimmen der Spaltenüberschriften=Variablennamen
A=txt(1,:);

%datevec('2009 12 13 12:12:04')
%ans =
%  1.0e+003 *
%  Columns 1 through 5
%    2.0090    0.0120    0.0130    0.0120    0.0120
%  Column 6
%    0.0040
%datenum('2009-12-13 12:12:04')
%ans =
%  7.3412e+005
%datestr(datenum('2009-12-13 12:12:04'))
%ans =
%13-Dec-2009 12:12:04



Fahrtbeginn = txt(2:end,9);             % Fahrtbeginn in Vektor
Fahrtende   = txt(2:end,10);              % Fahrtende in Vektor

Zeitbeginn  = datenum(Fahrtbeginn, 'dd.mm.yyyy HH:MM'); %Umwandlung in Zahl
Zeitende    = datenum(Fahrtende, 'dd.mm.yyyy HH:MM');   %Umwandlung in Zahl

Fahrzeit    = Zeitende-Zeitbeginn;           %Ermittlung der Fahrzeit

Minimum     = min(Fahrzeit(1:end));
Mittel      = mean(Fahrzeit(1:end));
Maximum     = max(Fahrzeit(1:end));

Fahrzeit    = datestr(Fahrzeit, 'HH:MM');   %Umwandlung in Zeitformat

mittel      = mean(datenum((Fahrzeit),'HH:MM'));

Maximalzeit = datestr(Maximum,'HH:MM');
set(handles.max,'string',Maximalzeit)

Mittelwert  = datestr(Mittel,'HH:MM');
set(handles.mittel,'string',Mittelwert)

Minimalzeit = datestr(Minimum,'HH:MM');
set(handles.min,'string',Minimalzeit)

sz_txt=size(txt);
Anzahl      = sz_txt(1)-1;
set(handles.anzahl,'string',Anzahl)

Volumen     = 65*Anzahl;
set(handles.volumen,'string',Volumen) 






hold on
plot(datenum((Fahrzeit),'HH:MM'),'k')
line(xlim,[mittel,mittel],'color','r')
hold off
set(gca,'XTick',1:2:Anzahl)
%axis auto
%axis([0 Anzahl min(datenum(Fahrzeit)) max(datenum(Fahrzeit))]);
%axis tight
datetick('y','HH:MM') 
legend('Fahrzeit','durchschnittl. Fahrzeit');
xlabel('Tournummer');
ylabel('Zeit in hh:mm');

%fotovariable=imread('Pfenning.jpg');    % Foto einlesen
%handles.bild=image(fotovariable);

function Tour_anzeigen_Callback(hObject, eventdata, handles)

global txt Anzahl


   h = inputdlg('Welche Tour soll angezeigt werden ?');
   h = str2double(h);
   
if h > Anzahl
   
    errordlg('Diese Tour existiert nicht')
    return

elseif h <= 0

    errordlg('Bitte nur positive Zahlen')
    return

else

    a = txt(1,1:end);
    b = txt(h+1,1:end);
    
    %Erg = [a;b];
    %open('Erg')        % Variable Er existiert nicht
    
    xlswrite('temp',[a;b]);
    open ('temp.xls')     % öffnet Import Wizard 
    
    
end
    
%fid = fopen('temp.txt','wt');
%for k = 1:size(txt)
 %   fprintf(fid,'%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n',txt{k,:});
%end
%fclose(fid);

function Zeiten_filtern_Callback(hObject, eventdata, handles)
global txt


answer=inputdlg({'Fahrbeginn','Fahrtende'});
answer{1};
answer{2};
x=datenum(answer{1});
y=datenum(answer{2});

%for i=2:(end(txt))
t1= (x>=Zeitbeginn & y<=Zeitende);    
    
    
    
a1=txt(:,9);
a2=txt(:,10);
t1= (a1>3 & a1<7);  %liefert 0 wo Bedingung nicht erfüllt ist
                    %liefert 1 wo Bedingung erfüllt ist
t2= (a2>3 & a2<7);
%t =Columns 1 through 8 
% 0     0     0     1     1     1     0     0
%  Columns 9 through 10
%     0     0

% z(z>3 & z<7)      % gibt Werte aus bei denen Bedingung erfüllt ist
%ans = 4     5     6



answer=inputdlg({'Fahrbeginn','Fahrtende'});
%answer{1};
%answer{2};
x=datevec(answer{1});
y=datevec(answer{2});
Zeita=datevec(Fahrtbeginn);
Zeitb=datevec(Fahrtende);


%for i=2:(end(txt))
for i=1:Anzahl
t1= (x>=Zeita(i,:) & y<=Zeitb(i,:)) 
end
% --------------------------------------------------------------------
function datei_menu_Callback(hObject, eventdata, handles)
% hObject    handle to datei_menu (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function hilfe_menu_Callback(hObject, eventdata, handles)
% hObject    handle to hilfe_menu (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function info_programm_Callback(hObject, eventdata, handles)

info;


% --------------------------------------------------------------------
function datei_menu_ende_Callback(hObject, eventdata, handles)

delete(handles.figure1);


% --------------------------------------------------------------------
function info_online_Callback(hObject, eventdata, handles)

web www.mathworks.de/help/techdoc/learn_matlab/bqr_2pl.html -browser 


% --------------------------------------------------------------------
function speichern_unter_menu_Callback(hObject, eventdata, handles)

[file,pfad] = uiputfile('*.xls',  'Datei speichern unter');
xlswrite(fullfile(pfad,file),txt);


%[file,pfad] = uiputfile('*.jpg',  'Datei speichern unter');
%saveas(gca, fullfile(pfad,file),'jpg');   %komplette GUI speichern


% --------------------------------------------------------------------
function info_hilfe_Callback(hObject, eventdata, handles)
% hObject    handle to info_hilfe (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --- If Enable == 'on', executes on mouse press in 5 pixel border.
% --- Otherwise, executes on mouse press in 5 pixel border or over Zeiten_filtern.



