Code covered by the BSD License  

Highlights from
Program to generate applications which are time bound/evaluation

from Program to generate applications which are time bound/evaluation by Vihang Patil
Create stand alone application which is time bound to distriute for demo purposes.

magic_number(varargin)
function varargout = magic_number(varargin)
% MAGIC_NUMBER M-file for magic_number.fig
%      MAGIC_NUMBER, by itself, creates a new MAGIC_NUMBER or raises the existing
%      singleton*.
%
%      H = MAGIC_NUMBER returns the handle to a new MAGIC_NUMBER or the handle to
%      the existing singleton*.
%
%      MAGIC_NUMBER('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in MAGIC_NUMBER.M with the given input arguments.
%
%      MAGIC_NUMBER('Property','Value',...) creates a new MAGIC_NUMBER or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before magic_number_OpeningFunction gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to magic_number_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
%
% Edit the above text to modify the response to help magic_number
%
% Last Modified by GUIDE v2.5 14-Jan-2008 11:48:49
%
% Begin initialization code - DO NOT EDIT
%
% Vihang Patil, Oct 2006
% Copyright 2006-2007 Vihang Patil
% Email: vihang_patil@yahoo.com
% Acknowlwdgement: Han Qun Email: junziyang@126.com for Splash.m



gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @magic_number_OpeningFcn, ...
                   'gui_OutputFcn',  @magic_number_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
% End initialization code - DO NOT EDIT


% --- Executes just before magic_number is made visible.
function magic_number_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to magic_number (see VARARGIN)

splash('mindreader.jpg');%%Splash Window

axes(handles.axes1);
gifplayer;


n = 75; %this four lines of code, generates 21 unique random numbers
f = ceil(n.*rand(100,1));
[a b] = unique(f,'first');
c = b(1:21);

for i = 1 : 21
    str = ['text' num2str(i)];
    set(handles.(str),'String',c(i));
end
handles.count = 1; %intial count
set(handles.your_magic_number,'Enable','Off');


   
% Choose default command line output for magic_number
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes magic_number wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% function TmrFcn(src,evnt) 
% % function TmrFcn(varargin)
% % function TmrFcn(hObject, eventdata, handles)
% % Code here updates the clock text object(? if that's what 
% % you mean by GUI clock) with the current time. Either it 
% % finds the appropriate text obj handle itself (findobj) 
% % or the handle is global, or the TmrFcn is nested - 
% % whichever fits your style. 
% handles=guihandles; 
% % axes(handles.axes1);
% h = getappdata(0,'h');
% [I,map] = imread('crystal.gif',ceil(12*rand));
% set(h,'CData',I);
% % guidata(hObject, handles);

% --- Outputs from this function are returned to the command line.
function varargout = magic_number_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

evaluation_period = 30; %number of days
[out days_used] = evaluation(evaluation_period,'off'); %code embedded so that the application will run only for specified days ex: 30 days
days_left = evaluation_period - days_used;
set(handles.demo_period,'String',int2str(days_left));
if out == false
    h = errordlg('Sorry Evalution Period Over. Contact Sales','Demo Period Expired');
    set(h,'WindowStyle','modal');
    uiwait(h);
    try
        d=timerfind;stop(d);delete(d);
    catch
        lasterr;
    end
    closereq;
    return;
end

% --- Executes on button press in column1.
function column1_Callback(hObject, eventdata, handles)
% hObject    handle to column1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

str2 = 1:3:19;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c1(i) = str2double(get(handles.(str),'String'));
end

str2 = 2:3:20;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c2(i) = str2double(get(handles.(str),'String'));
end

str2 = 3:3:21;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c3(i) = str2double(get(handles.(str),'String'));
end


handles.number = [handles.c2 handles.c1 handles.c3];
for i = 1 : 21
    str = ['text' num2str(i)];
    set(handles.(str),'String',handles.number(i));
end

set(handles.tiptool,'String','Select the column in which your number is currently');
handles.count = handles.count + 1;

if handles.count == 4
   set(handles.column1,'Enable','off');
   set(handles.column2,'Enable','off');
   set(handles.column3,'Enable','off');
   set(handles.tiptool,'String','Look Straight into the Crystal Ball,make a Wish and Press the Magic Button to reveal your Number');
   set(handles.your_magic_number,'Enable','On');
end

guidata(hObject, handles);


% --- Executes on button press in column2.
function column2_Callback(hObject, eventdata, handles)
% hObject    handle to column2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


str2 = 1:3:19;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c1(i) = str2double(get(handles.(str),'String'));
end

str2 = 2:3:20;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c2(i) = str2double(get(handles.(str),'String'));
end

str2 = 3:3:21;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c3(i) = str2double(get(handles.(str),'String'));
end

handles.number =  [handles.c1 handles.c2 handles.c3];
for i = 1 : 21
    str = ['text' num2str(i)];
    set(handles.(str),'String',handles.number(i));
end
set(handles.tiptool,'String','Select the column in which your number is currently');
handles.count = handles.count + 1;

if handles.count == 4
   set(handles.column1,'Enable','off');
   set(handles.column2,'Enable','off');
   set(handles.column3,'Enable','off');
   set(handles.tiptool,'String','Look Straight into the Crystal Ball,make a Wish and Press the Magic Button to reveal your Number');
   set(handles.your_magic_number,'Enable','On');
end

guidata(hObject, handles);

% --- Executes on button press in column3.
function column3_Callback(hObject, eventdata, handles)
% hObject    handle to column3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


str2 = 1:3:19;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c1(i) = str2double(get(handles.(str),'String'));
end

str2 = 2:3:20;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c2(i) = str2double(get(handles.(str),'String'));
end

str2 = 3:3:21;
for i = 1 : 7
    str = ['text' num2str(str2(i))];
    handles.c3(i) = str2double(get(handles.(str),'String'));
end

handles.number =  [handles.c1 handles.c3 handles.c2];
for i = 1 : 21
    str = ['text' num2str(i)];
    set(handles.(str),'String',handles.number(i));
end
set(handles.tiptool,'String','Select the column in which your number is currently');
handles.count = handles.count + 1;

if handles.count == 4
   set(handles.column1,'Enable','off');
   set(handles.column2,'Enable','off');
   set(handles.column3,'Enable','off');
   set(handles.tiptool,'String','Look Straight into the Crystal Ball,make a Wish and Press the Magic Button to reveal your Number');
   set(handles.your_magic_number,'Enable','On');
end

guidata(hObject, handles);




% --- Executes on button press in your_magic_number.
function your_magic_number_Callback(hObject, eventdata, handles)
% hObject    handle to your_magic_number (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

your_number = handles.number(11);
set(handles.magic_text,'String',num2str(your_number));
set(handles.tiptool,'String','Play Once again or Exit through File Menu');


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

% Hints: get(hObject,'String') returns contents of magic_text as text
%        str2double(get(hObject,'String')) returns contents of magic_text as a double


% --- Executes during object creation, after setting all properties.
function magic_text_CreateFcn(hObject, eventdata, handles)
% hObject    handle to magic_text (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end




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


% --------------------------------------------------------------------
function new_game_Callback(hObject, eventdata, handles)
% hObject    handle to new_game (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
set(handles.tiptool,'String','Think of any one number from any of the 3 Columns, and select that column ,after 3 guesses, the computer will tell you the number in your mind!!');
set(handles.your_magic_number,'Enable','Off');
set(handles.column1,'Enable','on');
set(handles.column2,'Enable','on');
set(handles.column3,'Enable','on');

n = 75;
f = ceil(n.*rand(100,1));
[a b] = unique(f,'first');
c = b(1:21);

for i = 1 : 21
    str = ['text' num2str(i)];
    set(handles.(str),'String',c(i));
end

handles.count = 1;
set(handles.magic_text,'String',[]);
guidata(hObject, handles);

% --------------------------------------------------------------------
function exit_Callback(hObject, eventdata, handles)
% hObject    handle to exit (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
handles=guihandles; 
d=timerfind;stop(d);delete(d);

closereq;



% --------------------------------------------------------------------
function show_splash_Callback(hObject, eventdata, handles)
% hObject    handle to show_splash (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
splash('mindreader.jpg');%%Splash Window



% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, eventdata, handles)
% hObject    handle to figure1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hint: delete(hObject) closes the figure
handles=guihandles; 
d=timerfind;stop(d);delete(d);

delete(hObject);




% --- Executes during object creation, after setting all properties.
function demo_period_CreateFcn(hObject, eventdata, handles)
% hObject    handle to demo_period (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called


Contact us at files@mathworks.com